说JavaScript是一种“语言”是否准确;“单螺纹”;语言?
这种说法我已经听过很多次了,但就我个人而言,我认为这没有什么意义。我认为人们混淆了JavaScript作为一种语言规范和JavaScript的实际应用(浏览器、节点等)。当然,在大多数情况下,JavaScript是在单线程环境中执行的;但是AFAIK语言规范中没有任何东西要求这样做。我认为这就像说Python是“解释的”,而实际上这完全是一个实现问题说JavaScript是一种“语言”是否准确;“单螺纹”;语言?,javascript,Javascript,这种说法我已经听过很多次了,但就我个人而言,我认为这没有什么意义。我认为人们混淆了JavaScript作为一种语言规范和JavaScript的实际应用(浏览器、节点等)。当然,在大多数情况下,JavaScript是在单线程环境中执行的;但是AFAIK语言规范中没有任何东西要求这样做。我认为这就像说Python是“解释的”,而实际上这完全是一个实现问题 那么,说JavaScript是一种“单线程”语言准确吗?多线程行为在HTML5和node.js中都可用,但JavaScript语言中没有本机线程A
那么,说JavaScript是一种“单线程”语言准确吗?多线程行为在HTML5和node.js中都可用,但JavaScript语言中没有本机线程API,所以我想你的人为问题的答案(当然,我是说,以最好的方式)是“是的,Javascript是一种单线程语言。”您所说的Javascript似乎是指ECMAScript 浏览器中已经有了多线程,它是基于数据的强大隔离而构建的:工作人员只通过消息传递进行通信,没有任何东西是共享的 如果您想要更复杂的多线程处理和数据共享,那么现在看来这是不可能的
- 创建“线程”的工具(一般来说,可以是协同路由)
- 用于同步访问的互斥体和设施
- 一种低级支持,以确保在同时访问的情况下,例如属性更改不会破坏数据。当前没有一个引擎具有这种强度(是的,其中一些引擎支持多线程,但是隔离的)
- 数据共享多线程非常昂贵(甚至不包括DOM上的同步操作)
- 您很少在JavaScript中使用它