阻塞和忙等待

【区别】

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

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

 

 

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

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

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

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

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

 

【tip】

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

posted @   RookieCoderAdu  阅读(449)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2020-10-21 js里面的引用传递(数组赋值)
点击右上角即可分享
微信分享提示