electron主进程的nodejs消息循环是如何驱动的

很简单,有个NodeBindings::EmbedThreadRunner的函数,是在主进程的工作线程运行。这个函数会监听uv_loop_->iocp有没事件,如果有的话,就发消息给主线程,让主线程调用NodeBindings::UvRunOnce,里面就是调用libuv,然后驱动nodejs。

那如果nodejs是开了定时器呢?在监听uv_loop_->iocp的时候会有个超时,超时的时间就是定时器的间隔。

你可能感兴趣的:(electron,javascript,前端)