Ideally we expect to be able to safely call methods on a thread safe class from multiple threads expecting an output as if the methods had been serialized in some order. If I have a class that throws an exception on concurrent access (and does not leave the class in an inconsistent state), can this class be called thread safe?