线程

线程

现代操作系统提供了对单个进程中多条执行线索的支持,这些执行线索称为线程。线程是构成进程的可独立运行的单元,是进程内的一个执行流。

线程与进程的比较

  1. 在资源分配方面,进程是操作系统资源分配的基本单位。线程基本上不拥有自己的资源,只拥有一点在运行中必不可少的资源(如堆栈等)
  2. 在CPU调度方面,线程是调度执行的基本单位
  3. 在通信方面,由于多个线程共享同一内存地址空间,线程之间的通信犹如同一房间内的人之间的对话,因而更容易实现。

内核级线程和用户级线程

区别在于线程的调度实在核内还是核外进行的,用户级线程不需要内核支持,对线程的管理和调度完全由用户程序完成。内核级线程则是由内核完成对线程的管理和调度。
用户级线程的切换速度比内核级线程要快得多,但如果有一个用户级线程被阻塞,则内核会将整个进程置为等待态,使该进程内的其他线程也失去运行的机会。
内核级线程则没有这样的问题,一个线程被阻塞时,其他线程仍可调度运行,内核级线程也更利于并发使用多CPU资源。

linux中的线程

linux从内核的角度来说,并没有线程这个概念。
Linux称不独立拥有资源的进程为“轻量级进程”(LWP)
linux中实现多线程应用的策略是:为每个线程创建一个LWP进程,线程的调度由内核完成,线程的管理在核外函数库实现。
用clone()的系统调用来完成LWP进程的创建。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值