JavaScript ajax 算是多线程么?

frank_ren · 2014年07月05日 · 最后由 bastengao 回复于 2014年07月06日 · 7085 次阅读

我觉得不是。

ajax 只是异步,执行完代码后 立刻执行下面代码。等之前的请求返回后再做处理。

并且 javascript 不支持多线程的。那 ajax 怎么能是多线程呢。

楼主这是自问自答啊

#1 楼 @iBachue 我只是提出我的想法而已~ 需要大家的验证 -。=

是异步执行,不算多线程,不过后面 js 肯定会支持多线程的

#3 楼 @xiongxin8802 你是指以后 js 会支持多线程?我看未必啊。。参见 nodejs

ajax 和多线程没关系 但 ajax 可以是由多线程实现的,对于 js 代码来说只有一个线程,但不代表对于浏览器只有一个线程

#5 楼 @ShiningRay 浏览器多线程?见识短 没听过~ 普及下。

#4 楼 @frank_ren 我也是看到一本书上有讲到的,他说 js 有个保留字符 synchronized,应该是和多线程相关的

如果从浏览器如何处理请求的角度看的话那的确是多线程的。目前 js 的多线程无论是底层还是 webworker 都是类似 actor 并发模型(线程独占信箱,任务入队串行化),所以 synchronized 应该不会出现的

回调。。

#6 楼 @frank_ren 以前 Firefox 和 IE 都是,另外我说了,只是可以由多线程实现,有问题? 即使是 Chrome,一个 tab 也就是一个进程里面会有不同线程执行不同的工作,脚本引擎会占用其中一个线程

http://blog.csdn.net/namelcx/article/details/6582730

#11 楼 @ShiningRay 確實是的呀,語法來自 Java,函式來自 Scheme,原型繼承來自 Self,正則表示式來自 Perl

#12 楼 @xiongxin8802 然后呢?有人想让 js 变得像 java,所以留了很多 java 的关键词进来,包括 class,所以这个 synchronized 是抄 java 的,这有什么问题?

我认为以后 synchronized 也根本不会被用到

可能我是没说清

#10 楼 @ShiningRay js 还停留在初级阶段。谢谢回复~ 先看看 贴的链接先。

JS 可以开多线程,HTML5 里面有个 Web Woker 就是 JS 的多线程 http://www.w3.org/TR/workers/ http://www.w3school.com.cn/html5/html_5_webworkers.asp

#15 楼 @bydmm 这个。。。我发帖子的初衷只是想问下 ajax 算多线程么。。有点扯远了。穗花

和 UI 有关系的基本上无一例外都是单线程,包括桌面应用。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号