如果我正确理解Node JS不会阻塞...,那么它就不必等待数据库或其他进程的响应,而是继续进行其他操作并稍后再检查。
它也是单线程的。
因此,这是否意味着给定的Node JS进程可以完全有效地利用单个CPU内核,但不会使用计算机上的任何其他内核,因为它永远不会一次使用多个内核。
当然,这意味着其他进程仍可以将其他CPU用于其他事物,例如SQL数据库或其他故意分离的CPU重子例程,只要它们是独立的进程即可。
同样,如果Node JS进程具有无限循环或长时间运行的功能,则在终止无限循环或长时间运行的功能(或终止整个进程)之前,该进程将不再有用。
这一切对吗?我的理解正确吗?
Node.js是一个单线程应用程序,但是它可以通过事件和回调的概念来支持并发。这是Philip Roberts的视频,解释了事件循环如何在javascript中工作。
点击这里观看视频
(Node.js中有C ++ API而不是WebAPI)