如果JavaScript是单线程的,为什么可以进行异步操作?

时间:2015-02-05 03:40:39

标签: javascript node.js multithreading asynchronous

我读过JavaScript是一种单线程编程语言。如果我理解正确,那本质上意味着我不能生成线程来创建多线程应用程序。我更像是一个技术作家而不是程序员,所以就我解释这个概念的能力而言,这是我的能力。

但是,无论是在服务器上运行的Web还是节点,都可以执行异步操作,例如在不影响UI流程和应用程序响应的情况下监听按钮触摸事件或读取文件。在Node JS的上下文中,我也听到了绝望的非阻塞术语,这似乎意味着执行中存在多个线程阻止系统阻塞。显然我误解了一些事情。

对于这个问题,作为单线程编程语言的JavaScript如何才能进行异步操作?那些多线程不是吗?

我期待着你大开眼界的答案。

0 个答案:

没有答案