短暂的睡眠会在什么时候增加而不是减少CPU使用率

潜伏者21

我正处于一个程序的设计阶段,该程序将具有10-30个线程,其中每个线程将处理许多小信息块。

我可以选择每个块休眠5毫秒或根本不休眠。我应该选择降低CPU负载的方法。

通常,我会睡觉以降低CPU利用率,但是我担心许多5 ms的睡眠可能会由于上下文切换而导致CPU利用率增加而不是减少。

是否已经进行了一些有关在短睡眠和CPU利用率上下文切换之间进行权衡的研究?

亚伦·迪古拉(Aaron Digulla)

睡觉是不得已的选择。相反,请查看并发API中的工具,尤其是Queues,它使您可以使任务进入休眠状态,直到消息到达并应按其操作为止。

或者看一下Akka,它可以让您轻松地构建一个系统,其中几个线程处理成千上万条消息。这里的主要缺点是您必须围绕Akka设计系统-确实不是您可以轻松进行改造的东西。

如果您最关心速度,请查看诸如“单生产者/消费者无锁队列一步一步”或LMAX Disruptor之类的阻塞免费算法

有关的:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章