3
A
回答
3
用作实例的实际类是而不是线程安全(除非您提供)。有很多的例子在这里(如Are final static variables thread safe in Java?:静态最终HashMap
目前使用的是,这是不是线程安全的)
的创建使用groovys @Singleton
注释线程(你应该依赖于单例 )。
的docs显示两个版本,通过变换生成相应的Java代码:
这里是普通版
@Singleton
,这会导致static final
变量,而这又是线程在java中:public class T { public static final T instance = new T(); private T() {} }
对于
lazy
版本(@Singleton(lazy=true)
)Double-checked locking创建:class T { private static volatile T instance private T() {} static T getInstance() { if (instance) { instance } else { synchronized(T) { if (instance) { instance } else { instance = new T() } } } } }
仅供参考,这里是一个gist with a simple class and the disassembled code
相关问题
- 1. 单例和线程安全
- 2. 在多线程中使用线程安全单例的示例
- 3. Structuremap单例线程安全吗?
- 4. 弹簧+线程安全单例
- 5. 单线程线程安全级别
- 6. 单线程实现线程安全吗?
- 7. 单线程安全的线程
- 8. 线程安全的单
- 9. Spring MVC单线程安全?
- 10. 线程安全简单
- 11. java单线程安全
- 12. LAPACK例程线程安全吗?
- 13. java线程安全:线程安全吗?
- 14. 这个单例实例成员是否线程安全?
- 15. ApplicationState中C#单例实例的线程安全性
- 16. 使用枚举的线程安全单例程
- 17. 线程安全的实例字段
- 18. NSManagedObject实例的线程安全性?
- 19. 静态实例线程安全
- 20. hiperfifo.c示例线程是否安全
- 21. 的Java:线程安全类的实例
- 22. File实例线程安全吗?
- 23. 线程安全:类的实例
- 24. 线程安全
- 25. 线程安全
- 26. 线程安全
- 27. 线程安全
- 28. 线程安全
- 29. 线程安全
- 30. 线程安全
你的意思是它使你的Thread类的所有方法安全吗? – 2014-09-24 19:10:59