设为首页 加入收藏

TOP

HTML5之Worker Thread
2014-11-24 14:39:12 来源: 作者: 【 】 浏览:5
Tags:HTML5 Worker Thread

传统网页中嵌入的JSP语言都是执行在UI的上下文中,一般来说这种JSP处理的都是简单逻辑,没啥问题,随着Web复杂度越来高,JSP能处理的事情也越来越复杂,如果JSP计算量比较大的话,这就会导致UI页面假死。HTML5中的WorkerThread可以缓解这个问题,Worker Thread通过UI thread创建一个新的线程来进行计算,消息和结果通过Web Message来进行通讯,由于这种异步性,UI便可以较为流畅地响应新到来的事件。
调用过程如下:
1.新的工作线程执行体放在一个单独的JS文件中,比如worker.js.


2.在UI的执行线程中生成一个worker对象,worker对象的构造函数参数就是worker.js


3.下面就可以发送消息让worker干活了


4.活干完了给UI发送消息,也就是第一步中的


5.UI进行响应


Notes:
*在Chrome中调试的时候会出现SECURITY_ERR: DOM Exception 18,传说是Webkit的bug,没有细究,可以通过搭建一个本地的HTTP服务器来解决,把HTML文件放到本地服务器上就可以绕开这个安全问题了,我使用的是WAMP
*也许是为了控制Worker Thread的复杂度,Chrome的Worker Thread中不能再生成新的worker thread,其实这个很容易绕开,发送一个消息到UI中,让UI生成新的Worker Thread就好,Firefox可以支持subworker,但Chrome是可以支持sharework,这种shareworker可以共享JS文件里面的全局数据


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HTML5之Web Storage 下一篇Android手势识别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: