【发布时间】:2018-02-06 08:24:57
【问题描述】:
我知道如果我在 Linux 中调用 sleep(1),处理器会执行上下文切换并在 1 秒后将进程带回内存。
是否有任何 API 可以在不离开 CPU 的情况下旋转 1 秒。
【问题讨论】:
-
为什么会有?如果您真的需要,您可以自己制作一个,但有比使用 CPU 更便宜的方法来加热房间。
-
英特尔在过去的 30 年里,通过包含多个 CPU 和越来越长的管道,让您很难不这样做。请记住,您的计算机中可能有 4 个或更多“CPU”,您是否想全部“旋转”它们(以及您/真正/“旋转”是什么意思)
-
旋转一个 cpu 1 秒
-
如果 Liinux、英特尔或其他任何人开始包含 API 调用,这可能对 0.0000001% 在通用操作系统上编写一些狡猾的实时应用程序的开发人员有用,那么不称职和/或不关心的糟糕开发人员会直接使用它,编写在垃圾循环上不必要地浪费硅的应用程序,并且正如@Art 上面所说的那样,到处增加空调费用:(
-
另外,“将进程带回内存”不,不能保证从内存中删除被阻塞线程的代码/数据。当然,执行会被暂停,但如果其他地方不需要内存,则无需调出内存。
标签: c linux operating-system