BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

文章:JavaScript多线程编程简介

| 作者 Daisuke Maki 关注 0 他的粉丝 ,译者 张凯峰 关注 1 他的粉丝 发布于 2008年8月8日. 估计阅读时间: 1 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

JavaScript的单线程模式一直为人所诟病,虽然AJAX的出现曾大大缓解这一尴尬情况,但其先天的缺限已经显现出阻碍AJAX发展的趋势,因而当前急需寻求解决此问题的突破点。

本文通过一个简单的BBS系统的例子,引入JavaScript程序开发最初存在的问题:响应迟滞,动作缓慢。这是单线程惹的祸,它所要求的顺序执行令所有 的任务只能一个接一个的进行,哪怕所做的只是在等待;接着又用异步通信方式对程序进行了改写,现在它可以高效地执行任务了,与服务器交互、响应用户请求, 都很流畅自然。美中不足的是程序的复杂性增加了,可读性降低了。还是单线程在做祟,因为在单线程环境内程序不能被任意启停,所以要换一种程序设计方式和实 现方式,这对程序员可不是好事;文章的最后部分介绍了多线程库及其应用,在其模拟的多线程环境内,程序可在线程之间任意切换,实现如同桌面程序般快捷的响 应,程序设计方式也可以保持开发人员原有的习惯,可谓一举多得!

详细内容,请阅读全文:JavaScript多线程编程简介

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

页面出错, 后半部分的代码看不到。 by 顾 宏

如题

Re: 页面出错, 后半部分的代码看不到。 by 刘 申

恩,谢谢提醒,这是发布系统的一个bug:(

已经修正过来了:)

前面看着费解 by Cao lei

回调函数用得很巧,我到觉得这比后面那个多线程更酷一些,不知道是写的不好还是翻译的有问题,看着很费解。

觉得程序有错 by Cao lei

if(!cache[id]) {
callback(cache[id]);
}
这段是不是写反了?应该是cache[id]存在才去执行callback

Re: 觉得程序有错 by Guo Xiaogang

应该是写错了,联系作者看看。


可以参考作者的原始论文

英文版:jsthread.sourceforge.net/cgi-bin/wiki/wiki.cgi?...
日文版:jsthread.sourceforge.net/cgi-bin/wiki/wiki.cgi?...

Re: 觉得程序有错 by xiat tian

非常巧妙的方法 by Liu Yulong

关键是这种将单线程改造成多线程的思路很有趣,值得借鉴和思考。

Re: 非常巧妙的方法 by zhang lan

思考中。。。谢谢

这个函数怎么改造? by Wilson Wang

function f ( i ){
while ( 1 ) {
document.body.innerHTML += i++ + "
";
}
}

这个函数怎么改造?

... by Wang Frank

afu翻译水平又见提高

很好的思想方法 by 马 涛

这是第一次接触js的多线程方面,很值得好好读这篇文章。

你好,我找遍网络都无法下载啊?哪位给一份给我,急用,谢谢! by daohong Hao

你好,我找遍网络都无法下载啊?哪位给一份给我,急用,谢谢!
我这边显示全是无法打开,用快照找到连接也是无法下载,多谢各位了!

Re: 你好,我找遍网络都无法下载啊?哪位给一份给我,急用,谢谢! by daohong Hao

着急忘了,我的邮箱haodaohong@gmail.com,谢谢了!

javascript不是说不是多线程处理的么? by 郄 逸飞

如题。菜鸟,寻高手解答。
www.phpv.net/html/1700.html

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

14 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT