Hen*_*olm 7 c cocoa-touch pthreads thread-local-storage ios
我pthread_getspecific在一个设计用于链接到各种iOS应用程序的库中显然出现错误结果时遇到了一些问题.
我看到Apple写道:
Cocoa和POSIX以不同的方式存储线程字典,因此您无法混合和匹配对这两种技术的调用.但是,只要您在线程代码中坚持使用一种技术,最终结果应该是相似的.在Cocoa中,您使用NSThread对象的threadDictionary方法来检索NSMutableDictionary对象,您可以向该对象添加线程所需的任何键.在POSIX中,您使用pthread_setspecific和pthread_getspecific函数来设置和获取线程的键和值.
这是否意味着,无论可可也不POSIX TLS功能可以预计在库代码工作的时候,我们不知道,我们调用的代码是否已经使用一个或其他?
在这些情况下,如何稳健地存储和检索线程局部指针?
是否有我们应该使用的本机Darwin TLS支持API而不是Cocoa或POSIX?