Welcome 微信登录

首页 / 操作系统 / Linux / Linux C中也有“ThreadLocal”

现在在看Linux开发的书,接触到了多线程开发这一块,惊奇的发现用C写多线程程序,也有线程内部变量的概念呢,甚至调用的接口和Java中的ThreadLocal非常像。1.extern int pthread_key_create ((pthread_key_t *__key, void (*__destr_function) (void *)));先使用该方法创建一个线程内的Key,且绑定一个函数在线程结束时回收Key对于的空间2.extern int pthread_setspecific __P ((pthread_key_t __key,__const void *__pointer));将线程数据和一个键绑定在一起3.extern void *pthread_getspecific __P ((pthread_key_t __key));获得线程数据4.pthread_key_delete删除Key及其对应的线程数据看来编程语言都是相通的,果真不假啊。