《HTML5程序设计及实践》课件第9章 HTML5多线程_第1页
《HTML5程序设计及实践》课件第9章 HTML5多线程_第2页
《HTML5程序设计及实践》课件第9章 HTML5多线程_第3页
《HTML5程序设计及实践》课件第9章 HTML5多线程_第4页
《HTML5程序设计及实践》课件第9章 HTML5多线程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章HTML5多线程目录HTML5多线程概述使用WebWorkers多线程通讯示例HTML5多线程概述WebWorker是一种机制,它将执行复杂数据运算的JavaScript程序放到后台运行,同时又不占用浏览器的线程资源,而是使用客户端操作系统的线程资源实现多线程的机制。WebWorker一般用来处理长期的、高启动成本的和每个实例占用高内存开销的任务。WebWorkers中执行的脚本不能访问该页面的window对象,不能直接访问Web页面和DOMAPI。WebWorkers不会导致浏览器UI停止响应,但是在某些情况下跟普通的单独线程一样仍然会剧烈消耗CPU周期,导致系统反应缓慢使用WebWorkers页面脚本//1、建立WebWorkersworker=newWorker("./js/echoWorker.js");//2、传递消息,postMessageconsole.log("页面发送消息....");worker.postMessage("1");//3、建立监听器和事件处理函数worker.addEventListener("message",messageHandler,true); functionmessageHandler(e){ console.log("页面处理worker发来的消息"); console.log(e.data);}functionmessageHandler(e){ console.log("JavaScript脚本接收到消息"); postMessage(newDate());}addEventListener("message",messageHandler,true);多线程通讯示例创建HTML5页面脚本文件functionmessageHandler(e){ console.log("JavaScript接收到消息"); postMessage(newDate());}addEventListener("message",messageHandler,true);多线程通讯示例页面加载函数消息处理函数functionloadDemo(){ if(typeof(Worker)!=="undefined"){ document.getElementById("support").innerHTML="提示:您的浏览器支持多线程。"; worker=newWorker("js/echoWorker.js"); worker.addEventListener("message",messageHandler,true); worker.addEventListener("error",errorHandler,true); }; document.getElementById("postButton").onclick=postMessagetoWorkers; document.getElementById("stopButton").onclick=stopWorker;} window.addEventListener("load",loadDemo,true);functionmessageHandler(e){ vardt=e.data; vartime="当前时间:"+dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); $("#showMessage").append("<br/>完成接受信息,"+time);}多线程通讯示例发送消息停止线程functionpostMessagetoWorkers(){ $("#showMessage").append("<br/>开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论