如何让线程空闲时不占用CPU资源

feixiangmenghuan feixiangmenghuan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需求是:我有10个一样的线程(函数内容一致,只是触发的点位不同) 去与主线程同步,在没有任务的时候,希望线程处于空闲时态,不占用CPU资源,但不能SLEEP,有主线程任务到来时,线程能够立即执行。
当然我知道在一般情况下,空闲时就让线程睡眠,但是线程进入睡眠之后,什么时候再获得CPU控制权是由操作系统决定的,当任务到达时,线程并不能立即唤醒执行,这样的话就算是Sleep(1)毫秒也不能满足要求。
...全文

相关推荐

操作系统CPU占用率控制实验报告.pdf

在循环中,程序交替进行繁忙循环(不执行任何操作但消耗CPU时间)和空闲循环(通过`Sleep()`挂起)。通过调整繁忙和空闲循环的持续时间,可以实现50%的CPU利用率。

筱筱笎琞

.netcore-线程池饿死问题分析(CPU空闲,并发量大时请求超时)

如果您是使用.net或.net core平台编写服务时服务负载能力已经达到顶峰,而CPU并没有得到充分利用,看看这篇文章,那么或许你可以得到一些启发。 目录1、问题现象2、线程数不够3、什么是线程池4、什么是异步编程?5、通常是什么导致阻塞?6、我怎么知道ThreadPool缺少线程?6.1、PerfView / threadTime收集6.2、寻找增长的线程数。6.3、查找阻塞API6.4、...

webmote

在线程池中创建多少线程比较合理?

**任务性质**: - **IO密集型任务**:这类任务在等待IO操作完成时,CPU往往是空闲的。公式1+ I/O耗时/Cpu耗时用于计算最佳线程数。

weixin_38576779

Java线程池ThreadPoolExecutor原理及使用实例

为什么使用线程池?使用线程池可以降低开销,易复用和管理,解耦。首先,线程池可以降低在创建和销毁线程上的开销,频繁创建/销毁线程意味着CPU资源的频繁切换和占用,线程是属于稀缺资源,不可以频繁的创建。

weixin_38522029

cpu123.rar_Windows编程_C++_

C++作为系统级编程的强大工具,能让我们深入操作系统层面,实现对CPU行为的精细控制。然而,要注意的是,不恰当或过度使用这样的工具可能会导致系统不稳定,因此在实际操作时应谨慎行事。

pudn01
评论 9
收藏 已收藏
分享
返回顶部
feixiangmenghuan
VC/MFC 16,550 成员 421,606 内容