如果一个对象在Java中是线程安全的,如果它的类不包含可以更改的实例变量并且没有静态变量,那么可以安全地使用它吗?一个对象是否可以说是线程安全的?
3
A
回答
4
完全安全,只要它不扩展非线程安全的类。
如果一个对象是无状态的,它可以安全地由多个线程共享。
这也是为什么鼓励在多线程环境中使用不可变对象的原因,因为它们的状态不能被同时修改。
相关问题
- 1. 线程安全对象 - 是否静态?
- 2. GridFS Java对象是否线程安全?
- 3. 对象成员对于Callable&ExecutorService是否是线程安全的
- 4. 存储在线程安全集合线程中的对象是否安全?
- 5. EF对象是线程安全的吗?
- 6. 什么是线程安全的对象
- 7. 创建一个具有独立线程的全局对象是否安全?
- 8. 以下代码是否线程安全
- 9. 是否可以同时从多个线程调用write()安全?
- 10. 是否Box.add()线程安全?
- 11. 是否mysql_insert_id线程安全?
- 12. NashornScriptEngine是否线程安全?
- 13. RegExp.MatchString是否线程安全?
- 14. SeekableStream是否线程安全?
- 15. 是否log4j线程安全?
- 16. NSPasteboard是否线程安全?
- 17. LIBSVM是否安全线程
- 18. epoll是否线程安全?
- 19. 是否NotifyPropertyChanged线程安全?
- 20. Android FragmentTransaction.replace()是否是线程安全的?
- 21. 线程是否表示线程安全?
- 22. SyncRoot对象是否真的线程安全?
- 23. 这个类是否线程安全?
- 24. 它是否可以安全地用于不同线程的一个功能?
- 25. 是System.ServiceModel.Channels.BufferManager是否线程安全?
- 26. 是否是setlocale线程安全函数?
- 27. 为什么不可变对象是线程安全的?
- 28. 在scala对象中,是不可变的val线程安全吗?
- 29. 是否可以确定一个对象是否被另一个对象引用?
- 30. localtime不是线程安全的,但可以只调用一个线程?
是的,它是安全的! – Avia
它是安全的......除非它扩展了一个不是的类! – Seelenvirtuose
是的,这样的对象将是线程安全的。但是,当然,一个类可以有实例变量并且有静态变量,并且* ALSO *是线程安全的。关键问题:“对象的'状态'是如何管理的?”看看这里:[什么是线程安全代码?](http://stackoverflow.com/questions/261683/what-is-meant-by-thread-safe-code) – FoggyDay