我今天一直在思考 NodeJS 以及它对阻塞的态度,这让我想到,如果一个代码块纯粹是非阻塞的,比如说计算一些真正的长对数并且变量都存在于堆栈中等等。如果这个推送单核非超线程到 CPU,因为 Windows 任务管理器将其定义为 100%,因为它旨在尽快完成此任务?假设这通常是可能需要几分钟的计算。
user53791
问问题
644 次
4 回答
6
是的,它应该。该算法应该尽可能快地运行。如有必要,为其他进程安排时间是操作系统的工作。
于 2010-02-10T11:53:48.210 回答
1
如果您的非阻塞计算密集型代码没有使用 100% 的 CPU,那么您就是在空闲任务中浪费周期。看到空闲任务使用 99% 的 CPU 总是让我很恼火。
于 2010-02-10T11:57:13.693 回答
0
只要当有一些需要CPU进行计算时将CPU“分配”给其他进程,我想就可以了:如果CPU可用并且有一些工作要做,为什么不使用它?
于 2010-02-10T11:51:24.130 回答
0
由于 RAM 可以被调出到磁盘,所有应用程序都可能被阻塞。如果算法使用的 RAM 多于系统上可用的 RAM,就会发生这种情况。结果,它不会达到 100%。
于 2010-02-10T11:59:23.347 回答