【问题标题】:How to create singleton for each thread in Cocoa?如何为 Cocoa 中的每个线程创建单例?
【发布时间】:2013-01-15 20:14:50
【问题描述】:

是否有任何共同的模式来为每个线程创建单例对象?

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

谢谢

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

【问题讨论】:

    标签: multithreading cocoa singleton


    【解决方案1】:

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

    可以使用[NSThread threadDictionary].实现线程局部对象
    在那里你可以存储像NSValue 这样的对象,它甚至可以保存一个指针。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      相关资源
      最近更新 更多