2010-10-15 56 views
2

單線程類線程中的併發方法訪問是否安全?Singleton類線程中的方法是否安全?

我正在使用默認範圍爲Singleton的Spring框架(MVC)。

例如,如果我的Web應用程序的控制器是Singleton類,那麼聲明訪問Model/Business/DB類的方法是否線程安全,如果同時由多個線程訪問?如何調用數據庫以訪問/更新控制器中的這些方法的數據庫?

需要指導,我讚賞這個問題的任何幫助/建議。

回答

9

不,Singleton不保證線程安全。你必須自己管理。

最好的辦法是讓Singleton的無狀態。如果沒有共享狀態,你很好。

+0

+1但我想補充一點,它也不能保證非線程安全。最好的選擇是看文檔說什麼。 – 2010-10-15 19:44:11