一、pthread 线程
线程可以说是轻量级的进程,一般是一个进程中的多个任务。
进程:系统中的最小资源分配单元
线程:系统中最小执行单元
二、线程的特征
1、共享资源
2、效率高30%
3.使用第三方库(头文件加pthread.h 编译时添加 -lpthread)
三、线程的缺点
1、稳定性差
2、gdb调试比较麻烦
四、进程和线程的区别
1、线程比进程多了共享资源
2、线程只具有一部分的私有资源,进程间只有私有资源
3、进程空间独立,不能直接通信
线程可以共享空间,可以直接通信。
五、线程的设计框架
创建 ----> 空间操作 ------> 资源回收
六、相关函数
pthread_create(&tid,NULL,th,NULL)
创建线程:第一个参数是线程id
第二个参数是线程属性,默认是NULL属性
第三个参数是指向指针函数的函数指针,本质上就是函数的名字(回调函数)(执行空间)
第四个参数是函调函数的参数
pthread_self()
获取当前线程的线程id
pthread_exit(void *retval)
子线程自行退出,退出时返回参数中的状态
pthread_cancle(id)
结束一个进程,参数是要结束的线程的id号
pthread_join(id,void **retval)
将指定线程回收,具有阻塞功能。
第二个参数,就是线程结束时返回的状态,可以说就是pthread_exit()中参数的值
pthread_detach(id)
设置分离属性