我一直在使用Node.js。我知道它在內部是如何工作的(eventloop和其他東西),但是ASP.NET Core看起來與Node.js非常相似。ASP.NET Core&Node.js的相似之處
ASP.NET Core - Uses Kestrel (basically a fork of libuv)
Node.js - Uses libuv
ASP.NET Core - Tasks (though present in previous ASP.NET versions too)
Node.js - Promises
ASP.NET Core - Async/Await (though present in previous ASP.NET versions too)
Node.js - Async/Await
那麼,得出以下結論正確:
Node.js的只有執行JavaScript代碼(同步)和許多工作線程異步後臺操作一個單獨的線程。
ASP.NET Core使用多個線程來執行.NET代碼(同步)和許多工作線程用於後臺異步操作。
Node.js強制I/O爲異步,因此您不會阻止事件循環,但在ASP.NET中,用戶也可以同步I/O,因此阻塞線程,但由於它使用多線程整個應用程序不會被阻止。