首页 > 其他分享 >阻塞和忙等待

阻塞和忙等待

时间:2022-10-21 20:23:22浏览次数:46  
标签:占用 阻塞 线程 等待 CPU 资源

【区别】

1.阻塞不会占用CPU,忙等待会占用CPU。但忙等待也不是零成本,每个线程会占用1M内存。而且会给CLR和操作系统带来管理开销

2.忙等待可以避免上下文的切换

 

 

【阻塞/忙等待/睡眠/挂起】

阻塞是线程自己发现获取不到资源,先休息,有资源再来。不占用CPU

忙等待是线程一直等待资源。占用CPU 。

睡眠是CPU通知线程去休息,一定时间再来。不占用CPU

挂起是CPU通知线程休息,有资源CPU通知线程。不占用CPU

 

【tip】

当处理成百上千个IO-Bound的时候,阻塞不适用,因为开辟的线程多,内存占用太大,一般使用回调

标签:占用,阻塞,线程,等待,CPU,资源
From: https://www.cnblogs.com/AduBlog/p/16814644.html

相关文章

  • BlockingQueue阻塞队列
    BlockingQueue阻塞队列BlockingQueue的四组API/**BlockQueue的四组API*1.抛出异常*2.有返回值,不抛出异常*3.阻塞等待*4.超时等待*/publicclassBlockQu......
  • oracle open hang 等待cursor: pin S wait on X---惜分飞
    客户19.3数据库无法在open过程hang住分析alert日志 2022-10-18T15:04:57.374918+08:00db_recovery_file_dest_sizeof102400MBis9.58%used.Thisisaus......
  • selenium基础之3大等待
     隐性和显性区别为:在显性的EC条件模块中,在selenium3.X当中,每一个条件都是由类实现的,每个类都有2个方法,__init__,__call__在selenium4.X当中,每一个条件是由函数实现的......
  • Java并发编程学习7-阻塞队列
    阻塞队列介绍阻塞队列之前,先来介绍下队列Queue。Queue用来临时保存一组等待处理的元素。它提供了几种非阻塞队列实现,如下:ConcurrentLinkedQueue,这是一个传统的先进先出......
  • [答疑]业务序列图上等待响应怎么画
    Alan2020-5-1412:41各位同学,对于1.31.6在需求规约这样写系统请求A系统处理XXX,系统等待B系统发送分析结果这样合理不?还是要拆成1.6拆成另一个用例,但是用户对引入系统的期......
  • Selenium4Web自动化3-等待机制详解
    一、sleepsleep(timeout)是设定一个固定的等待时长,代码运行到此处,会强行进行等待指定的时间,使用方便的同时,效率最低,不建议使用。缺点:不能准确把握需要等待的时间(有时操......
  • Muduo库之阻塞队列
    在并发编程中,常常需要用到线程安全的队列。常见的线程安全队列的设计分为两种:阻塞队列:常用于生产者和消费者的场景,其中,生产者存放元素,而消费者获取元素。常用的实现方法......
  • 三种等待方法
    强制等待使用 time.sleep() 强制等待,设置固定的休眠时间,对于代码的运行效率会有影响。以上面的例子作为参照,将隐式等待改为强制等待。 隐式等待隐式等待也是指定......
  • 数字化的制造业,真的不能再等待了!
    2019年12月1日,一名入职8年长安福特汽车的生产工程师,年仅30岁的邓乐家选择结束了自己年轻的生命。邓乐家在经历每周工作七天,每天从早上8点到晚上8,9点。短短5个月的加班时长,......
  • JAVA并发之阻塞队列浅析
    JAVA并发之阻塞队列浅析背景因为在工作中经常会用到阻塞队列,有的时候还要根据业务场景获取重写阻塞队列中的方法,所以学习一下阻塞队列的实现原理还是很有必要的。(PS:不深......