多线程
文章目录
- 多线程
- 什么是多线程
- 线程特点
- 线程的使用
- 线程的创建
- 线程ID获得
- 线程终止
- 线程等待
- 进程分离
什么是多线程
是资源调用的最小单位。一个进程内部的控制序列。线程是调度的基本单位。
线程有共享进程的数据,也有自己 的一部分数据
线程特点
1,性能消耗小,创建代价小。
2,跟随进程同时进行存活
3,健壮性比较低,缺少保护
4,编程难度提高
5,多个线程享用一个地址空间
线程的使用
线程的创建
pthread_t tid;
pthread_create(tid,nullptr,要跑的函数,*arg);
成功返回0,失败返回错误码。这里返回的错误码可以使用strerror函数进行处理,可以输出相应的错误信息。不会返回错误信息到errno上面去。
线程ID获得
int pid = pthread_self();
这样可以获得线程的ID
线程终止
pthread_exit();
只可以进行自身调用进行终止
线程等待
pthread_join(tid,nullptr);
进行之前线程推出的没有释放的资源进行释放,让其他的进程可以进行资源的复用(防止出现内存泄露)
进程分离
pthread_detch();
进行线程分离工作之后,线程的存在活时间就不是由于主进程所决定的了,就是接受OS的管理进行退出等操作。可以线程对于自己进行退出,也可以其他的线程或者进程对于其他的线程进行分离。