Threadsafe objects are objects that allow you to access multiple threads at the same time. Their implementation guarantees (for example, locks / synchronized methods / ...) that they will not fall into an invalid state. In addition, there should be no data loss.
Immutable objects cannot be modified after they are created. So: Yes, this is some kind of stateless person.
Since immutable objects cannot be changed, there is no need for locking - reading access to objects is always thread-safe (when it does not change variables). Therefore, real immutable objects are always thread safe.
Matthias
source share