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. Spring MVC單線程安全?
- 7. 線程安全的單
- 8. java單線程安全
- 9. 線程安全簡單
- 10. ApplicationState中C#單例實例的線程安全性
- 11. 的Java:線程安全類的實例
- 12. 靜態實例線程安全
- 13. 線程安全:類的實例
- 14. hiperfifo.c示例線程是否安全
- 15. 線程安全
- 16. 線程安全
- 17. 線程安全
- 18. 線程安全
- 19. 線程安全
- 20. 線程安全
- 21. 線程安全
- 22. 如何創建一個IDisposable線程安全的單實例?
- 23. C++中的線程安全單例實現
- 24. 使用線程安全更新單例的屬性
- 25. Ruby請給出一個簡單的非線程安全示例
- 26. 線程安全單例和內部類解決方案
- 27. 單線程安全的SAX解析器實例
- 28. 枚舉上的Java單例和ConcurrentHashMap。線程安全問題?
- 29. 線程安全應用程序中的線程安全
- 30. 安全Perl線程
你的意思是它使你的Thread類的所有方法安全嗎? – 2014-09-24 19:10:59