我正在学习Node Js,我了解Node Js的核心是基于事件循环的反应器模式。
当任何事件发生时,它会进入事件队列,然后在运行任务结束后被堆栈拾取。如果事件是非阻塞的,则会这样处理,但如果它是一个阻塞请求,则事件循环将其传递给libuv线程池中的线程。
现在我的疑惑是:
执行完成后,libuv线程是否将请求传回事件队列或事件循环?不同的教程有不同的情况。
libuv中的线程池有3个以上的线程,现在假设有10个用户同时尝试登录(像Facebook这样的应用程序),并且由于它们想要连接到数据库而阻塞了线程,那么只有三个线程如何处理这么多负载?
我真的很困惑,没有找到一个好的解释这些疑问的地方,任何帮助都将不胜感激。