Html5开发之Web Workers概要

首先什么是Web Workers
Web Workers是将JavaScript程序放在后台运行的机制。原来的HTML的js都是单线程的方式。通常都是单线程方式。通常将js程序与用户界面处于同一线程时运行时,如果此时可处理需要很长时间,那么用户界面将一直停止不动,用户将不能在用户界面上做任何操作。
为了解决上述问题,因此出现了WebWorker这种机制,将需要耗费很长时间的js放在后台作为另一个线程运行,这样在后台运行复杂处理的同时,用户仍然可以在前台界面上进行各种操作。
编程步骤
  • 将要在后台运行的js进程的代码独立出来,创建一个单独的js文件。Worker完全在后台运行,因此不能含有任何与用户界面(UI)相关的处理
  • Worker环境中不存在window与document对象,如果其中用到了这些对象,将会出错。Prototype.js以及jquery等以DOM为前提创建的库,都不能在其中使用。
  • Worker代码文件编写完成之后,将此文件的URL作为参数创建Worker的实例。
  • var worker=new Worker("hello.js");创建的Worker因为与主画面属于不同的线程,不能共享变量。此时使用消息机制(Messaging),进行画面与任意Worker间的信息或者数据交换。送信方用postMessage()方法,接收方捕捉message事件。
  • 向Worker送出信息worker.postMessage("Hello");
  • 接受送信方的信息有两种方式
      addEventListener("message",function(event)){
var message=event.data;
}
      worker.onmessage=function(event){
//取出信息数据
var message=event.data;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值