如何在Cocoa中为每个线程创建单例?

时间:2013-01-15 20:14:50

标签: multithreading cocoa singleton

是否有为每个线程创建单例对象的常见模式?

当我向单例类发送sharedInstance消息时,我希望只为currentThread共享一个实例。

由于

编辑:我发现这篇文章非常有用http://ddeville.me/2011/02/creating-shared-instances-of-non-thread-safe-classes/

1 个答案:

答案 0 :(得分:4)

每个线程要求的单例和一个对象是矛盾的 您可能想要一个thread local对象。这是每个线程特有的一个对象。

可以使用[NSThread threadDictionary].来实现线程本地对象 在那里,您可以存储NSValue这样的对象,它甚至可以保存指针。