- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTML5基础教程 授课教师: 职务: 第13章支持多线程编程的Web Workers 课程描述 提到多线程,大多数会想到Visual C++、Visual C#和Java等高级程序设计语言。传统的Web应用程序都是单线程的,完成一项任务才去执行下面的工作。这样的应用程序效率自然不会高,甚至会出现网页没有响应的情况。HTML 5新增了Web Workers对象,使用Web Workers对象可以后台运行JavaScript程序,也就是支持多线程,从而提高了新一代Web应用程序的效率。 本章知识点 13.1 概述 13.2 Web Workers编程 13.1 概述 13.1.1 什么是线程 13.1.2 什么是HTML5 Web Workers 13.1.3 浏览器对Web Workers的支持情况 13.1.1 什么是线程 线程是操作系统可以调度的最小执行单位,通常是将程序拆分成2个或多个并发运行的任务。一个线程就是一段顺序程序。但是线程不能独立运行,只能在程序中运行。 不同的操作系统实现进程和线程的方法也不同,但大多数是在进程中包含线程,Windows就是这样。一个进程中可以存在多个线程,线程可以共享进程的资源(比如内存)。而不同的进程之间则是不能共享资源的。 线程与进程的对比如下: ? 进程通常可用独立运行,而线程则是进程的子集,只能在进程运行的基础上运行。 ? 进程拥有独立的私有内存空间,一个进程不能访问其他进程的内存空间;而一个进程中的线程则可以共享内存空间。 ? 进程之间只能通过系统提供的进程间通信的机制进行通信;而线程间的通信则简单得多。 ? 一个进程中的线程之间切换上下文比不同进程之间切换上下文要高效得多。 在操作系统内核中,线程可以被标记成如下状态 ? 初始化(Init):在创建线程时,操作系统在内部会将其标识为初始化状态。此状态只在系统内核中使用。 ? 就绪(Ready):线程已经准备好被执行。 ? 延迟就绪(Deferred ready):表示线程已经被选择在指定的处理器上运行,但还没有被调度。 ? 备用(Standby):、表示线程已经被选择下一个在指定的处理器上运行。当该处理器上运行的线程因等待资源等原因被挂起时,调度器将备用线程切换到处理器上运行。只有一个线程可以是备用状态。 ? 运行(Running):表示调度器将线程切换到处理器上运行,它可以运行一个线程周期(quantum),然后将处理器让给其他线程。 ? 等待(Waiting):线程可以因为等待一个同步执行的对象或等待资源等原因切换到等待状态。 ? 过渡(transition):表示线程已经准备好被执行,但它的内核堆已经被从内存中移除。一旦其内核堆被加载到内存中,线程就会变成运行状态。 ? 终止(Terminated):当线程被执行完成后,其状态会变成终止。系统会释放线程中的数据结构和资源。 Windows线程的状态切换 13.1.2 什么是HTML5 Web Workers Web Workers是HTML5的一个亮点,使用它可以在后台独立地运行不需要与用户进行交互的JavaScript程序。这就使得一些需要长时间运行的脚本与需要与用户交流的脚本之间可以互不干扰的运行。 后台运行的脚本可以称为Workers。通常Workers的工作量都是相对“重量级”的,启动一个Web Workers对象所耗费的性能成本和维护一个Web Workers实例所需要的内存成本都比较高,因此不建议大量使用Web Workers对象,只用于长期运行的后台运算,不要频繁地创建和销毁Web Workers对象。 有两种Web Workers:专用线程(dedicated worker)和共享线程(Shared Worker)。专用线程一旦创建就只能与创建它的页面连接和通信,而共享线程则没有这个限制。 13.1.3 浏览器对Web Workers的支持情况 在JavaScript中可以使用typeof(Worker)检测浏览器对Web Workers的支持情况。如果typeof(Worker)等于undefined,则表明当前浏览器不支持Web Workers;否则表明支持。在JavaScript中可以使用typeof(Worker)检测浏览器对Web Workers的支持情况。如果typeof(Worker)等于undefined,则表明当前浏览器不支持Web Workers;否则表明支持。 【例13-1】 在网页中定义一个按钮,单击此按钮时,会检测浏览器是否支持Web Workers。定义按钮的代码如下: button id=check onclick=check();检测浏览器是否支持Web Workers/
您可能关注的文档
- HTML+CSS+JavaScript网站开发实用技术第2章.pptx
- HTML+CSS+JavaScript网站开发实用技术第3章.pptx
- HTML+CSS+JavaScript网站开发实用技术第4章.pptx
- HTML+CSS+JavaScript网站开发实用技术第5章.ppt
- HTML+CSS+JavaScript网站开发实用技术第6章.ppt
- HTML+CSS+JavaScript网站开发实用技术第7章.ppt
- HTML+CSS+JavaScript网站开发实用技术第8章.ppt
- HTML+CSS+JavaScript网站开发实用技术第9章.pptx
- HTML+CSS+Javascript网站制作案例教程第1章 网站建设基础.ppt
- HTML+CSS+Javascript网站制作案例教程第2章 HTML与HTML5基础.ppt
- HTML5游戏开发案例教程PPT-第二章.pptx
- HTML5游戏开发案例教程PPT-第六章.pptx
- HTML5游戏开发案例教程PPT-第三章.pptx
- HTML5游戏开发案例教程PPT-第四章.pptx
- HTML5游戏开发案例教程PPT-第五章.pptx
- HTML5游戏开发案例教程PPT-第一章.pptx
- HTML5与CSS3 Web前端开发技术第1章 HTML 5概述.ppt
- HTML5与CSS3 Web前端开发技术第2章 HTML 5的文档结构元素.ppt
- HTML5与CSS3 Web前端开发技术第3章 HTML5的基本页面元素.ppt
- HTML5与CSS3 Web前端开发技术第4章 HTML5的表单元素.ppt
最近下载
- 2025年护理人员N1进阶N2考试试题及答案 .pdf VIP
- DB21T1342-2021 建筑工程文件编制归档规程.pdf
- Unit-1-Discovering-Useful-Structures-超好用的公开课获奖课件-(.pptx VIP
- 专业技术职务任职资格评审表.doc VIP
- 医疗操作规程.docx VIP
- 湖北省专业技术职务任职资格评审表.docx
- 钒酸铋光催化剂的制备及改性.pdf VIP
- 城市轨道交通列车牵引与制动系统(配实训工单) 实训手册(带答案).docx VIP
- 吊装施工专业技术方案(含计算).doc VIP
- 城市轨道交通车辆维护与检修中职全套完整教学课件.pptx
文档评论(0)