Does V8 have an event loop?

2019-05-03 10:10发布

问题:

I keep hearing V8 has its rudimentary event loop implementation but

  1. couldn't find it
  2. doesn't really make sense to me. Methinks, the simplest design of a JS engine would be to simply run synchronously and let the "embedder" write their own event loop - like nodejs got libuv.

Is there an event loop implementation in v8? If so, could you point me at it?

回答1:

Your intuition is right that the event loop is something that embedders should have control over. However, it is also a fundamental abstract concept of the JavaScript programming model. V8's solution is to provide a default implementation that embedders can override; you can find it in the "libplatform" component: https://chromium.googlesource.com/v8/v8/+/master/src/libplatform/default-platform.cc#140

See also Relationship between event loop,libuv and v8 engine



标签: v8 event-loop