如果我理解正确Node JS是非阻塞的...所以不是等待来自数据库或其他进程的响应,而是转移到其他东西并稍后检查.
它也是单线程的.
所有这些都意味着给定的Node JS进程可以完全有效地利用单个CPU核心,但它不会使用机器上的任何其他核心,因为它一次不会使用多个核心.
这当然意味着其他CPU仍然可以被其他进程用于SQL数据库或其他有意分离的CPU重子程序,只要它们是一个单独的进程即可.
此外,如果Node JS进程具有无限循环或长时间运行的函数,则在无限循环或长时间运行的函数停止(或整个进程被终止)之前,该进程不再有用.
这一切都好吗?我的理解是正确的吗?
异步调用是否始终创建新线程?两者有什么区别?
异步调用是始终创建还是使用新线程?
在计算机编程中,异步事件是独立于主程序流发生的事件.异步操作是在非阻塞方案中执行的操作,允许主程序流继续处理.
我知道异步调用可以在单线程上完成吗?这怎么可能?
我正在仔细研究node.js并了解它,它支持异步编程,但实际上它提供了单线程模型.
在这种情况下如何处理异步编程?是否像运行时本身创建和管理线程,但程序员无法显式创建线程?如果有人可以指点我一些资源来了解这一点,那就太好了.
让我们谈谈每秒都有setInterval方法的JavaScript代码2.
我还有一个onblur控件的动画事件.
在onblur发生(+动画)的情况下,我可能会得到这个setInterval功能.
所以我的问题是:
异步编程是否意味着多线程?(以任何方式?)
我知道Javascript不是一种多线程语言.
所以...?