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