多线程

1、线程概念

在linux下使用pcb描述实现了程序调度,并且这些pcb共用同一个虚拟地址空间,相较于传统的pcb更加轻量化一点,因此也把linux下的pcb称之为轻量级进程。

线程是一个进程内部的控制序列

2、进程与线程

进程是系统资源分配的基本单位
线程是cpu调度的基本单位

线程之间的独有与共享

  • 独有:栈、寄存器、信号屏蔽字(pcb的一个阻塞信号集合)、errno、线程的标识符
  • 共享:虚拟地址空间(共享代码段、数据段)、文件描述符表、信号处理方式、工作路径、用户ID、组ID

3、多进程/多线程进行多任务处理

(1)多线程的优点
  • 线程间通信更加方便灵活(全局变量、函数传参)
  • 线程的创建与销毁成本更低(不需要开辟多余的空间,节省资源)
  • 线程间的调度成本更低
  • 线程的执行粒度更加细致

异常和某些系统调用针对的是整个进程(如exit)

(2)多进程的优点

具有独立性,因此更加稳定、健壮

例如:对主功能程序安全性稳定性要求更高的最好用多进程,其他的使用多线程。
例如shell、服务器使用多进程

(3)共同优点

CPU密集型程序/IO密集型程序
并行压缩cpu处理/IO等待时间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值