0
是否有任何常見模式爲每個線程創建單例對象?如何在Cocoa中爲每個線程創建單例?
當我發送一條sharedInstance
消息到單例類時,我期望一個僅爲currentThread
共享的實例。
感謝
編輯:我發現這個職位是非常有用的http://ddeville.me/2011/02/creating-shared-instances-of-non-thread-safe-classes/
是否有任何常見模式爲每個線程創建單例對象?如何在Cocoa中爲每個線程創建單例?
當我發送一條sharedInstance
消息到單例類時,我期望一個僅爲currentThread
共享的實例。
感謝
編輯:我發現這個職位是非常有用的http://ddeville.me/2011/02/creating-shared-instances-of-non-thread-safe-classes/
一個Singleton和每個線程需要一個對象是一個矛盾。
您可能需要一個thread local
對象。這是每個線程特有的一個對象。
線程本地對象可以通過使用[NSThread threadDictionary].
這裏你可以存儲這樣的對象作爲NSValue
可容納甚至一個指針來實現。
'threadDictionary'!當然。謝謝。 – cocoafan