Node.js通過使用基于事件的模型而不是線程,將基于事件的模型置于其核心,從而解決了“每個(gè)連接一個(gè)線程的問題”。所有昂貴的I / O操作始終與在啟動(dòng)操作完成時(shí)執(zhí)行的回調(diào)異步執(zhí)行。如果發(fā)生任何操作,則由epoll()之類的多路復(fù)用機(jī)制處理該觀察。我的問題是:為什么在使用阻塞系統(tǒng)調(diào)用select / epoll / kqueue時(shí)NodeJS不阻塞?還是根本不是NodeJS單線程,因此需要第二個(gè)線程來觀察具有select / epoll / kqueue的所有I / O操作?
NodeJS真的是單線程的嗎?
炎炎設(shè)計(jì)
2019-12-25 15:53:40