现在在看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及其对应的线程数据
看来编程语言都是相通的,果真不假啊。