Libuv:在空闲处理程序中增加短暂睡眠是个好主意吗?

时间:2019-03-02 16:10:11

标签: libuv

作为我的私人项目,我正在一个由libuv和Scheme解释器组成的Web应用程序服务器上工作,因此它的工作方式类似于Node.js的Scheme版本。

在我当前的实现中,空闲处理程序调用一个函数,该函数更新Scheme解释器的状态。在Scheme代码中,所有阻止功能(例如数据库查询)都在单独的线程中调用,因此此更新功能绝不应阻止。

看起来不错。但是当我运行此服务器时,CPU负载达到100%,并且散热风扇非常烦人。

为减少CPU负载,我在空闲处理程序的底部添加了usleep(1000);。 libuv可以接受吗?或者,空闲的处理程序不应该包含任何阻塞调用吗?

0 个答案:

没有答案