为了账号安全,请及时绑定邮箱和手机立即绑定

为什么JavaScript不支持多线程?

为什么JavaScript不支持多线程?

繁星coding 2019-08-06 13:50:05
为什么JavaScript不支持多线程?这是一个刻意的设计决定还是我们当前浏览器的问题,将在未来版本中得到纠正?
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

传统上,JS旨在用于简短,快速运行的代码片段。如果您正在进行重大计算,那么您是在服务器上进行的 - 在浏览器中长时间运行的JS + HTML 应用程序的想法是非常荒谬的。

当然,现在我们有了。但是,浏览器需要花费一些时间才能赶上 - 大多数都是围绕单线程模型设计的,改变这一点并不容易。Google Gears通过要求后台执行被隔离来解决许多潜在问题 - 不更改DOM(因为这不是线程安全的),不访问主线程创建的对象(同上)。虽然限制性,但这可能是不久的将来最实用的设计,因为它简化了浏览器的设计,并且因为它降低了允许没有经验的JS编码人员乱用线程所涉及的风险......

@marcio

为什么这不是在Javascript中实现多线程的原因?程序员可以使用他们拥有的工具做任何他们想做的事情。

那么,我们不要给他们那些容易被滥用的工具,以至于我打开的每个其他网站都会崩溃我的浏览器。这种天真的实现会让你直接进入导致MS在IE7开发过程中出现如此多头痛的领域:附加作者使用线程模型快速而松散地运行,导致隐藏的错误在主线程上对象生命周期发生变化时变得明显。坏。如果您正在为IE编写多线程ActiveX加载项,我想它是随着领域而来的; 并不意味着它需要更进一步。


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 1075 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信