ps -eLf //查看全部线程
gcc test.c -lpthread 编译需要链接pthread 库
//获取当前进程的ID
getpid();
//获取当前线程的ID
pthread_self();
//创建线程1.线程标识符2.线程属性3.线程处理函数4.函数的参数
pthread_create(&tid,NULL,fun,NULL);
//线程退出函数
pthread_exit((void*)2);
//任何线程调用都会使进程退出
exit(1);
//(分离态) 过的线程无法 pthread_join(回收)//此线程结束马上被回收占用资源
pthread_detach(tid);
//理解:主线程等待子线程的终止。也就是在子线程调用了pthread_join()方法后面的代码,只有等到子线程结束了才能执行。
pthread_join(tid, &tret);
//取消某个线程,但是得等到下次检测该线程才正真回收资源//待测试
pthread_cancel(tid);
//初始化线程属性
pthread_attr_init(attr);
//销毁线程属性所占用的资源
pthread_attr_destroy(attr);
//设置线程分离态属性//第二个为传入参数
pthread_attr_setdetachstate(attr, detachstate);
//获取线程分离态属性//第二个为传出参数
pthread_attr_getdetachstate(attr, detachstate);
//设置线程栈的位置和大小
pthread_attr_setstack(&attr,&stackaddr,size);
//获取线程的位置和大小