首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单线程和同步线程之间有区别吗?

单线程和同步线程之间有区别吗?
EN

Stack Overflow用户
提问于 2017-05-29 10:34:16
回答 2查看 2.9K关注 0票数 5

我在用在线课程学习Javascript。他们说Javascript的执行是“单线程同步执行”。然后,他们将单线程定义为一次一个命令,一次定义一个同步。

这些术语之间有什么区别吗?

我们是否通常说Javascript是一种同步语言?单线程语言?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-29 10:46:00

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

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

在JavaScript中,最常见的同步和异步示例是发出HTTP请求。

如果发出同步请求,则通过网络发送HTTP请求,然后一切都停止。鼠标点击被忽略。在暂停时达到零的计时器。在回复回来之前什么都不会发生。

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

票数 7
EN

Stack Overflow用户

发布于 2017-05-29 15:26:59

我发现了这个,它真的帮助我理解了:

“最后,线程是指我们在计算机的微处理器上同时运行多少个代码块(即线程)。如果你有多个‘核’(就像大多数现代英特尔处理器一样),你可以同时运行多个‘线程’(即每个处理器核心同时处理指令)。”

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

另一方面,同步/异步与如何处理单个线程有关。同步意味着“在做其他事情之前等待我完成”。异步的意思是‘没事的,在我完成的时候继续前进’。Javascript是同步的和单线程的.在发动机内部一次只发生一件事,只有一组指令被发送到计算机的微处理器。“

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44240367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档