【发布时间】:2022-01-16 15:57:40
【问题描述】:
我知道nodejs使用libuv提供的线程池来做并发作业。我读到 nodejs 只需要其中一个线程来执行所有 i/o 绑定活动
那么非阻塞文件操作是如何发生的呢?
如果我遍历一个包含 100 个文件的文件夹,使用 readFile() 打开所有文件,那么在节点、磁盘和操作系统之间实际上会发生什么?
如果在其他一些多线程和阻塞语言中执行相同的操作会导致线程等待 i/o 完成,那么谁在 nodejs 中等待 i/o 完成? ,尤其是同时发生多个文件操作时?
谢谢!
【问题讨论】:
标签: javascript node.js concurrency io operating-system