看到很多程序都用了线程的概念,不知如何用,查了一下,还是不知所以然,先把大概的用法总结一下吧,慢慢理解
1. 包含头文件 #include <thread.h>
2. 编译时加编译选项-lpthread
如:
gcc -o program_name xxx.c -lpthread
给个例子先:
#include <pthread.h>
pthread_key_t key;
void echomsg(int t)
{
printf("线程退出.\n");
printf("destructor executed in thread %d, param=%d\n",pthread_self(),t);
}
void *child(void *arg) //
为每一个现成单独建一个执行函数
{
return NULL;
}
int main()
{
int tid1; //
线程号 printf("hello\n");
pthread_key_create(&key,echomsg); //
注意在创建线程前创建私有数据,线程退出时会将key作为参数送入echomsg
pthread_create(&tid1,NULL,child,NULL); //
创建线程,其中第一个NULL是设置线程属性,第二个NULL是child1函数的输入参数,线程的作用就是执行child1
sleep(10);
pthread_key_delete(key); //
释放TSD printf("main thread exit\n");
retrun 0;
}