Linux的进程与线程

线程与进程

线程进程
CPU调度的最小单位系统资源分配的最小单位
线程属于进程,依赖进程存在进程可以拥有多个线程,最少有一个线程存在
多个线程共享进程的内存空间,每个进程拥有自己的栈段,又称运行时段,用来存放临时变量和局部变量进程拥有独立的内存空间
创建线程的系统开销小创建进程系统开销大
同一进程的多个线程具有相同的地址空间,使它们之间的同步和通信的实现,也变得比较容易进程间通信IPC
线程开销小,切换速度快,但是编程调试相对复杂。进程编译调试简单可靠性高,但是创建销毁开销大。
某一个线程挂掉导致整个进程挂掉进程间不会相互影响
适用于多核适用于多核,多机分布

进程间通信:管道、系统IPC(消息队列,信号量,信号,共享内存)套接字

线程间通信:
临界区:通过多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问;

互斥量:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。

信号量semphare:为了控制具有有限数量的用户资源而设计的,它允许多个线程在同一时刻访问同一个资源,但一般需要限制同一时刻访问此资源的最大线程数目。
事件(信号):通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值