从进程到协程,浅谈Java提高CPU利用率的发展

综合CPU利用率来讲,计算机远古时期,为提高CPU利用率,有以下概念

串行进程->并行进程->线程->线程池>->虚拟线程(协程)

一,串行进程,

早期的操作系统对任务调度,往往从最简单的实现开端,串型进程意思是对分配的一个任务,其任务能百分百占用CPU,哪怕该任务处于阻塞状态。只有等上一个任务完成后,才能执行下一个任务,而IO操作耗时占比较大,因此此时的CPU利用率非常低。

二,并行进程

此时的任务调度,多了时间片的概念,即多任务时,会给每个任务分配一定的CPU时间片,这样,单个任务的阻塞就不会影响其它任务的执行,进一步提高了CPU利用率。

这虽进一步提高了CPU利用率,但对应的也有代价,即CPU进程上下文切换,需要保存上下文环境,对于单个进程来说,其分配的内存是私有的,因此上下文切换会涉及到内存的切换。

三,线程

考虑到进程中CPU上下文切换的开销过大,这时出现了所谓的轻量级进程,即线程。本质上线程与进程没有更多区别,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值