本文主要是介绍线程局部存储 Thread Local Storage 线程特定数据 Thread-Specific Data,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Thread Local Storage, Thread-Specific Data ,两者指同一个概念。
参考:http://developer.51cto.com/art/200909/153297.htm
linux 下有两种方式实现:
1. 通过一个key来获取线程局部存储,可以指定退出函数,用于释放局部存储。局部存储空间实际通过malloc分配,通过key来获取和设置。
参考:APUE 12.6
2.用 __thread来描述变量,但不会指定退出函数,需要自己手动通过pthread_cancel_push来释放。
3. errno 多线程安全的,其实现为一个宏,实际为一个函数调用,通过函数局部存储方式来实现多线程安全。
4.http://blog.sina.com.cn/s/blog_5acb430f0100aerl.html
externint*__errno_location(void)
#defineerrno (*__errno_location())
这篇关于线程局部存储 Thread Local Storage 线程特定数据 Thread-Specific Data的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!