当前位置:网站首页>写出了一个CPU占用极高的代码后引发的思考
写出了一个CPU占用极高的代码后引发的思考
2022-08-05 08:05:00 【code bean】
1 如果你写了一个死循环,且没有任何延时,此时CPU占有率就会飙升。
2 Task.Delay() 是一个异步延时,写在同步代码中是起不到延时作用的。
3 Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下,让其他线程有机会优先执行。Thread.Sleep(0) 是你的线程暂时放弃cpu,也就是释放一些未用的时间片给其他线程或进程使用,就相当于一个让位动作。
4 在死循环中写一个Thread.Sleep(0)就不会导致CPU占有率就会飙升。
边栏推荐
- openSource 知:社区贡献
- iptables实现网络限制下ntp自定义端口同步时间
- 学习笔记14--机器学习在局部路径规划中的应用
- 关于MP3文件中找不到TAG标签的问题
- Game Thinking 19: Multi-dimensional calculation related to games: point product, cross product, point-line-surface distance calculation
- Qt编写自定义控件:文字聚光灯效果之一
- 高端无主灯设计灯光设计该如何布置射灯灯具?
- Qt writes custom controls: one of the text spotlight effects
- 强网杯2022 pwn 赛题解析——house_of_cat
- 双向循环带头链表
猜你喜欢
随机推荐
MVCC of Google's Fragmented Notes (Draft)
长期招聘嵌入式开发-深圳宝安
iptables实现网络限制下ntp自定义端口同步时间
DataFrame在指定位置插入行和列
MongoDB 语法大全
Embedded Systems: Basic Timers
Liunx教程超详细(完整)
在ASP控制数字及字母输入
php向mysql写入数据失败
Invalid operator for data type.The operator is add and the type is text.
创业者如何吸引风险投资商
[Structural Internal Power Cultivation] The Mystery of Enumeration and Union (3)
v-if/v-else根据计算判断是否显示
环网冗余式CAN/光纤转换器 CAN总线转光纤转换器中继集线器hub光端机
执子之手,与子偕老。你同意么?
C-Eighty seven(背包+bitset)
Mysql 死锁和死锁的解决方案
TRACE32——Go.direct
每月稳定干2万
Redis 全套学习笔记.pdf,太全了