单线和同步之间是否存在差异



我正在通过在线课程学习JavaScript。他们说JavaScript的执行是"单线螺纹,同步执行"。然后,他们一次将单线线程定义为一个命令,然后同步为一个命令。
这些术语之间有区别吗?
我们是否通常说JavaScript是一种同步语言?单线语言?

我找到了这个,它确实帮助我理解:

"最终线程是关于我们同时在计算机的微处理器上运行多少个代码块(即线程(。如果您有多个"核心"(如大多数现代的英特尔处理器所拥有的,您可以同时运行多个"线程"(即,每个处理器核心都同时处理指令(。

JavaScript引擎不这样做。JavaScript不一定会使用更多的处理器内核更快。

另一方面,同步/异步与单个线程的处理方式有关。同步意味着"等待我完成其他事情"。异步的意思是"没关系,我结束时继续前进"。JavaScript是同步且单线线程。在发动机中一次只发生一件事,只有一组说明被发送到您的计算机的微处理器。"

单线螺纹意味着一次只发生一件事。

同步意味着如果您需要等待某些东西,那么一切都停止直到等待结束。

JavaScript中同步与异步的最常见示例是提出HTTP请求。

如果您提出同步请求,则通过网络发送HTTP请求,然后一切都停止。鼠标点击被忽略。搁置时达到零的计时器。在响应恢复之前,什么都没有发生。

如果您想要异步请求,则JS引擎将继续进行其他工作。当请求返回并且JS引擎不忙时,它被捡起并处理。

相关内容

最新更新