2
  1. Javascript 在设计上是不鼓励还是不允许 Sync 阻塞 IO ?
  2. 为什么 Javascript 中没有睡眠 API?是因为以上几点吗?
  3. 浏览器可以有多个执行 javascript 的单线程吗?为什么总是单线程?

以上几点(由于浏览器限制)是否使 javascript 成为服务器端非阻塞语言的理想语言?

4

1 回答 1

0

浏览器只会在一个线程中运行 Javascript(至少每个域,Web Worker 除外)。
这主要是为了简单;直到最近,还没有人为 Javascript 编写线程 API。

为了使浏览器更易于编写(并且更快),该线程是浏览器 UI 线程。因此,Javascript 中的任何同步工作(或睡眠调用)都会冻结浏览器。
这就是不鼓励同步操作的原因。

于 2012-09-25T14:43:48.993 回答