0

如何在不放弃 C 中的 CPU 周期的情况下添加延迟。睡眠实际上放弃了当前线程的 CPU 周期,但是有没有办法让它等待而不使用睡眠?

4

1 回答 1

0

阻塞调用不是“忙等待”或“自旋锁”。阻塞调用是可睡眠的——这意味着 CPU 可以处理其他任务,没有 CPU 被浪费。

关于延迟而不放弃linux中的CPU周期

阻塞调用更容易——它们更容易理解、更容易开发、更容易调试。

但他们是资源猪。如果你不使用线程,它会阻塞其他客户端;如果使用线程,每个线程都会占用内存和其他系统资源。即使您有足够的内存,切换线程也会使缓存变冷并降低性能。

这是一个权衡——更快的开发和可维护性?或可扩展性。通过这个我们可以延迟它。

于 2013-09-10T03:52:51.787 回答