Java 对象是否可以说是线程安全的?

Java 对象是否可以说是线程安全的?,java,thread-safety,Java,Thread Safety,如果一个对象的类不包含可更改的实例变量和静态变量,那么可以安全地说它在Java中是线程安全的吗?完全安全,只要它不扩展非线程安全的类 如果一个对象是无状态的,那么它可以由多个线程安全地共享 这也是为什么鼓励在多线程环境中使用不可变对象,因为它们的状态不能同时修改。这是安全的。。。除非它扩展的类不是!是的,这样的对象是线程安全的。当然,类可以有实例变量和静态变量,也可以是线程安全的。关键问题:“对象的‘状态’是如何管理的?”请看这里:是的,但对象的类不包含变量实例字段这一事实并不意味着对象是无状态

如果一个对象的类不包含可更改的实例变量和静态变量,那么可以安全地说它在Java中是线程安全的吗?

完全安全,只要它不扩展非线程安全的类

如果一个对象是无状态的,那么它可以由多个线程安全地共享


这也是为什么鼓励在多线程环境中使用不可变对象,因为它们的状态不能同时修改。

这是安全的。。。除非它扩展的类不是!是的,这样的对象是线程安全的。当然,类可以有实例变量和静态变量,也可以是线程安全的。关键问题:“对象的‘状态’是如何管理的?”请看这里:是的,但对象的类不包含变量实例字段这一事实并不意味着对象是无状态的。你也需要超类来验证。嗨,Jean,谢谢你的回复!!所以,如果有人问,比如说,一个对象是否是线程安全的?然后我们可以看看它的类,仅仅通过查看状态就可以给出答案。如果我错了,请纠正我@Prasad你也得看看它的超类。然后,如果这些也是无状态的,你可以说它是安全的。然而,拥有一个状态并不意味着它不是线程安全的,您需要调查的不仅仅是如何访问字段。