当前位置:网站首页>写出了一个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占有率就会飙升。
边栏推荐
- 本地能ping通虚拟机,虚拟机ping不通本地
- Invalid operator for data type.The operator is add and the type is text.
- 行业应用软件项目经理三步曲
- Chapter3、色调映射
- Fiddler工具讲解
- 创业者如何吸引风险投资商
- Redis 全套学习笔记.pdf,太全了
- 【 LeetCode 】 235. A binary search tree in recent common ancestor
- Redis implements distributed lock-principle-detailed explanation of the problem
- MySQL 数据库 报错 The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
猜你喜欢
随机推荐
Redis缓存以及存在的问题--缓存穿透、缓存雪崩、缓存击穿及解决方法
Jmeter永久设置中文界面
微信 小程序 之PC端 不支持 wx.previewMedia 方法 故用自定义轮播图进行 模拟照片视频的播放
别把你的天使弄丢了
TRACE32——C源码关联1
软件系统测试和验收测试有什么联系与区别?专业软件测试方案推荐
iptables实现网络限制下ntp自定义端口同步时间
Controlling number and letter input in ASP
nn.unfold和nn.fold
字符串提取 中文、英文、数字
爬虫从入门到入牢
创业者如何吸引风险投资商
MobileNetV1架构解析
window.open 全屏展示
【win7】NtWaitForKeyedEvent
RedisTemplate: 报错template not initialized; call afterPropertiesSet() before using it
The magic weapon for small entrepreneurs!
Invalid operator for data type.The operator is add and the type is text.
Qt编写自定义控件:文字聚光灯效果之一
向美国人学习“如何快乐”









