Relationship between event loop,libuv and v8 engine

后端 未结 3 1071
我寻月下人不归
我寻月下人不归 2021-02-01 19:45

I am learning through the architecture of Node.js. I have following questions.

  1. Is event loop a part of libuv or v8?
  2. Is event queue a part of event loop? a
3条回答
  •  有刺的猬
    2021-02-01 20:35

    This is actually not as simple as given in the post selected as the answer. I hope my remarks will be a bit more exact. Hopefully I understood Sam Roberts (IBM) correctly in his talk on the Node event loop.

    To view the talk yourself you can go here: https://www.youtube.com/watch?v=P9csgxBgaZ8

    This is an addon to the answer given by @jmrk

    Libuv delegates tasks to the underlying operating system. The operating system then becomes responsible for sending a notification when an event occurs you are listening to. It does this for a lot of the operations you perform in Node. Like: sockets (net/dgram/http/tls/https/child_process pipes, stdin, out, err), timeouts and intervals.

    However not everything can be delagated like this to the underlying OS. Sometimes it is required to create a thread (there are 4 treads by default but you can change this using UV_THREADPOOL_SIZE). Not pollable are file system operations, dns.lookup() and some crypto functions.

提交回复
热议问题