【发布时间】:2016-12-14 08:21:11
【问题描述】:
我用这个library 在循环中休眠,我的循环看起来像这样
while(condition){
usleep(1)
while(condition){
usleep(1)
// ... do stuff (sync)
}
}
虽然我只睡了 1us,但循环永远不会终止它只是需要很长时间,但是当我删除 sleep 语句时,它只是运行并完成。
我正在尝试休眠以使 CPU 平静下来,而不是 100% 使用,以便服务器继续接受其他请求!
在循环中使用 setTimeout 不是一个好主意,因为 setTimeout 是异步的。
我想使用递归,但我担心它会太慢,我正在迭代 100000 左右
【问题讨论】:
-
请告诉我这不是生产代码,我建议您尝试弄清楚为什么您的 CPU 一直在 100% 燃烧。您到底想做什么?
-
您能在控制台中查看
sleep: using busy loop fallback消息吗?如果存在,则模块回退到while...循环阻塞 -
为什么不使用 setTimeout?
标签: javascript node.js sleep