HTM L5 Web WOrker技术及应用研究

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:zlq5626
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章主要讨论网页前端多线程技术,首先分析了传统多线程技术原理和应用场景,然后分析了HTML5规范中WebWorker的技术原理、产生的必要性和具体应用场景,通过对比分析得出了以下结论:网页前端的工作线程和传统的多线程本质上有很大差别,它更适合由于服务器或者客户端长时间计算导致网页前端处于阻塞状态的工作场景。
  关键词:HTML5;Web Worker;多线程;工作线程
  1引言
  多线程技术已经被普遍地应用到软件开发之中,它是非常成熟的技术。多线程技术是指在一个进程中包含多个可并行执行的控制流,这些控制流切换时不必通过进程调度,通信时可以借助于共享的内存区。多线程的优势非常明显,它能高效的利用系统资源,提高用户体验,缩短完成任务的时间。当然其缺点也非常明显,例如:增加了程序设计和实现的复杂度、需要更多的计算机资源等。
  HTML5是由W3C组织2014年完成的新网页规范,它融入了非常多的新技术,其中Web Worker是HTML5提出的工作线程技术,工作线程允许web页面中进行多线程编程。本文主要讨论工作线程与传统多线程的差别、工作线程的技术原理、必要性和应用场景。
  2传统多线程技术
  2.1技术概述
  传统多线程技术主要应用到软件编程中,线程相当于一个小的进程,由操作系统进行调度,多个线程可以由一个进程进行管理,当前几乎所有的高级语言都提供了多线程支持,例如:Java和.net等程序设计语言提供了专门的多线程接口,用户可以更加方便的进行多线程编程。
  2.2技术应用场景
  多线程技术应用已经非常成熟,以下是两个比较典型的应用场景:
  (1)软件多任务执行,用户可以在一个软件上启动多个任务,这能够提高了软件的利用率;另外,软件在执行安装、计算等操作时也可以同时启动多任务,这可以有效地利用CPU等计算机资源,从而提高工作效率。
  (2)网络编程,在网络编程中服务器端需要使用多线程技术,一个新的用户和服务器进行连接,需要启动一个新的线程,这可以让每个用户和服务器的交互是独立的,从而保证用户能够单独完成业务逻辑和数据通信,服务器资源充分被利用。
  3 HTML5 Web Worker技术
  在HTML5中,多线程技术被称为工作线程(Web Worker),HTML5规范出Web Worker的3大主要特征:能够长时间运行(响应),理想的启动性能和内存消耗。
  3.1 Web Worker技术原理
  Web Worker技术本质是Web程序中可以并发执行多个Javascript脚本,每一个被执行的脚本称为一个线程,彼此相互独立,统一由浏览器的Javascript引擎进行管理,它和传统的线程在线程管理、应用场景等诸多方面还是有很大差别的,其最主要的特点是在页面端实现,这是网页技术的一个创新内容。
  HTML5中的Web Worker可以分为2种不同线程类型,一个是专用线程(Dedicated Worker),一个是共享线程(Shared Worker)。专用线程是指只能在单一客户端上实现多线程,与其他客户端不发生交互;共享线程更适合多个浏览器窗口、iframe或者Worker并发访问,适应多个客户端之间进行数据的交互和控制,它允许同域中的多个应用程序使用同一个提供公共服务的共享线程。共享线程的通信和专用线程稍有不同,需要通过port属性进行通信。以下是专用线程的创建、通信和终止操作:
  (1)线程的创建,HTML5通过“new Worker(url)”语句建立一个新的工作线程,参数“url”是Javascript文件资源,它不可以跨域,这个文件中的Javascript代码在一个单独的工作线程中运行,工作线程如果需要加载其他的Javascript文件,可以使用“importScript”函数。
  (2)线程的通信,页面主程序通过onMessage事件接收专用线程传递的数据,使用postMessage事件给页面主程序发送数据。
  (3)线程的终止,通过调用“terminate()”方法立刻终止当前线程,线程没有完成的操作不会被继续执行。
  3.2工作线程的必要性
  Javascript语言是单线程的,所以页面端程序设计不能是并行的,这给许多页面程序设计带来了技术瓶颈,页面端如果一个Javascript程序没有完成,其他的Javascript将被阻塞,如果用户通过Javascript语言向服务器端发送请求,而服务器端计算时间较长,不能及时给客户端响应,页面将处于无响应状态。虽然可以通过setInterval和setTimeout函数模拟多线程工作,但是其本质是单线程,不能有效的利用客户端资源,无法彻底的解决多线程问题。
  Web Worker技术从本质上弥补了Javascript的单线程缺陷,无论是对于服务器端计算时间较长的Javaseript请求,还是前端Javascript语言长时间的运算,都可以单独创建工作线程,不影响其他线程工作。
  3.3应用场景
  (1)服务器端长响应,服务器端有可能进行长时间的计算,不能够给客户端及时响应,客户端会处于阻塞状态,解决这种问题通常有2种方案:一是优化服务器端,缩短计算时间;二是客户端采用轮询获得服务器端计算结果。显然第1种方案没有彻底解决问题,第2种方案使程序设计更加复杂,更加浪费服务器端资源。HTML5的工作线程适应这种场景,对于服务器端长响应的请求可以使用Ajax进行实现,为发送请求的Javascript代码单独建立一个工作线程,这样,服务器端长响应的请求和页面其他内容处于两个线程,阻塞只发生在长响应的线程中,页面其他工作不受影响。
  (2)客户端计算,通常Web编程中客户端的长时间计算是不被允许的,因为长时间的计算会阻塞页面,降低用户浏览网页的体验度。在实际工作过程中客户端的复杂计算是很普遍的,例如3D网页技术、在线游戏技术等都需要客户端进行长时间的计算。工作线程适合这个场景,长时间的客户端计算可以由一个单独的工作线程进行处理,不影响页面的其他工作,用户甚至可以设置加载动画等待计算结果。
  4结语
  HTML5的工作线程在本质上和传统多线程是不同的,这也决定了他们适应的场景有所不同。网页前端多线程技术当前并没有被广泛的应用,Web Worker规范虽然已经制定完成,但并没有很多成熟的应用。但是,它所提出的理念让客户端编程更加丰富,这也可以更加有效的利用客户端资源,在提高工作效率的同时,也减轻了服务器端的压力。
其他文献
摘要:文章针对养殖场仍然以传统凭经验养殖和现场查看畜禽活动情况为设计背景,提出了基于网络的养殖场环境信息监测系统的设计方案。通过sTcl2c5A60s2微控制器和环境监测传感器实时地监测大棚里的环境温度、湿度和影像等环境信息,并通过网络将数据信息传到电脑终端,用户可以在电脑终端远程查看养殖场里温湿度和畜禽的活动情况。  关键词:网络;养殖场;影像监控;环境监测
期刊
摘要:天翼视讯逐步完善了业务发展模式,从原本依托中国电信终端预装推广,逐渐走向互联网应用推广的道路。天翼视讯在应用市场取得重要成果,为天翼视讯业务发展提供了用户基础。文章针对应用市场的免费推广方式进行介绍,通过天翼视讯的实际推广案例,为其他互联网应用推广人员提供经验,相互交流。  关键词:天翼视讯;视频;应用市场;推广  天翼视讯是天翼视讯传媒有限公司为安卓用户量身定制的一款主打高清免费直播互动的
期刊
摘要:翻转课堂也称为颠倒课堂,通过对知识传授和知识内化的颠倒安排,改变传统教学中的师生角色并对课堂时间的使用进行了重新规划,实现对传统教学模式的革新。文章主要分析“linux操作系统”课程在传统教学模式下存在的问题,并提出以学生自主学习为主的翻转课堂项目化教学模式,在教学实践中采用比较分析法进行过程有效性分析和学习质量分析,验证了翻转课堂教学模式与项目化教学模式相结合的有效性。  关键词:翻转课堂
期刊
摘要:文章通过在出纳业务操作课程教学中探索运用项目教学,结合网络课程等信息化教学手段,融入“教、学、做”一体化教学模式,对如何设计课程实施方案进行了详尽论述,为提升高职会计专业学生职业能力、职业素养与创业创新能力奠定基础。  关键词:一体化课程;信息化教学  高职会计专业的培养目标是适应生产、建设、管理、服务第一线工作需要的复合型、创新型、应用型的高素质技术、技能型会计专业人才。高职会计专业应用型
期刊
摘要:近几年,Android手机系统应用越来越广泛,随之Android应用程序急剧增加,呈现出指数增长的态势。然而随着这些应用程序基数大了,软件质量也是良莠不齐,各类不同质量规模的应用都涌向了Android应用市场,充斥在各类Android应用商店中。文章通过介绍设计一个基于Android的相册的高质量应用,阐述了Android activity、图片编辑、图片布局等相关知识,尤其对相册开发过程、
期刊
摘要:当前,光伏发电已成为建筑节能的一种新趋势,国家大力支持光伏产业的发展,让光伏技术得到了突飞猛进的发展。然而,光伏发电仍存在一些问题,尤其是在电气系统设计上,不仅需要考虑到地理、环境的因素,还要与原有的电气系统取得协调。文章分析了光伏发电电气系统的设计方法,以期对光伏发电电气系统设计优化管理提供新的思路。  关键词:光伏;电气系统;设计优化  改革开放以来,随着科学技术的发展和对环保的重视,国
期刊
摘要:微课是近几年兴起的一种新的教育模式,是教育信息化发展的一种新趋势。在高职教育中,计算机应用技术是_门职业基础课程,也是必修课,围绕该课程的微课开发也在不断丰富和完善。文章论述了微课包含的主要内容,牲要以“Word中图文混排”为例,探讨微课程的设计与开发以及在计算机应用技术课程教学中的应用。  关键词:微课;计算机应用技术;教学设计  微课程是根据新课程标准和课堂教学实践,以教学视频为主要呈现
期刊
摘要:研究ONU报文转发效率的影响因素,有助于为用户提供高效优质的网络服务。文章研究的EPON(Ethernet Pa ssiveOptional Network,以太无源光网络)是_种基于以太网的PON技术,实现了光纤到户的传输方式,具有成本低,网速快等特点。EPON的传输架构是点到多点的形式,由OLT(Optical Line Terminal,光线路终端)与ONU(Optical Netwo
期刊
摘要:文章通过分析实践教学在应用型本科专业人才培养方案中的作用和传统实践教学存在的问题,构建了一种适合转型发展中实践教学体系。本教学体系从培养学生实践能力出发,突出技术应用能力的培养,为学生将来就业奠定了坚实的基础。  关键词:应用型本科;实践教学体系;教学内容;质量保障  “应用型本科”是高等教育大众化的产物。我国高校分“应用型教育”和“研究型教育”,其培养的人才分别是应用型人才与研究型人才。其
期刊
摘要:随着4G LTE-FDD牌照的正式发放,LTE-FDD的建网建站问题接踵而至。文章在对4G基站独立建设的利弊进行了简要分析之后,结合联通和电信两大运营商现网频谱占用情况,对4G LTE-FDD与2G/3G共天馈建设提出了3种备选方式,并分别进行了可行性分析,为运营商的4G网络建设提供了借鉴。  关键词:LTE-FDD;共天馈;合路;频段  2014年6月27日,工信部正式批准中国电信、中国联
期刊