Unix高级编程:线程基础、线程的创建、退出、分离、汇合、同步问题

一、线程的基础知识
进程和程序的区别
进程和线程的区别:
"线程,是执行的基本单位,线程共享进程的资源"。
(1条线程就是1条执行的基本单位,每个线程有自己独立的栈帧)
进程,是资源分配的基本单位,调度的单位。
进程有自己的pid,线程也有自己的id,称为"tid"。
"一个进程里可以有多个线程"。
每个进程都至少有一个线程,这个线程是进程的主线程。


需要"多条执行路线"时,使用多进程的话,进程间切换资源开销比较大,原因是需要复制PCB。"使用线程不需要复制PCB,属于进程内的切换,资源开销小"。




二、线程的创建


"pthread_create"(3)
#include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                  void *(*start_routine) (void *), void *arg);
Compile and link with "-pthread". /** 编译加上该库 -lpthread **/
功能:创建一个新的线程
参数:
"thread" 将 tid 存放在该参数的变量空间里
"attr" 取 NULL 采用默认的属性
"start_routine" (函数访问方式,返回值void *,参数void *)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜源Jerry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值