目录:
定义-Web Workers是什么意思?
Web worker是为HTML5开发的新应用程序编程接口,该接口允许软件进程在后台线程中运行。 Web worker是在客户端上创建的。 它们与负责用户界面(UI)的进程并行运行,并由异常创建。 创建后,Web工作者可以通过将消息发送到父级定义的UI的指定事件处理程序来与其父级创建者进行通信。
Web Worker在技术上被称为Web Worker API。 大多数主要的浏览器(Internet Explorer 9除外)都支持该功能。
Techopedia解释了Web Workers
Web Worker API指定两种工作程序-专用工作程序和共享工作程序。 敬业的工人是最简单的。 它旨在执行和完成某种任务。 一个示例可能是在用户屏幕上更新的时钟。 专用任务在后台触发,时钟更新并结束。
共享工作程序更为复杂,因为它具有通过事件处理程序功能进行回复的通信能力。 一个示例可能是在注册屏幕上验证用户地址和电话信息。 每条数据都必须经过验证。 结果完成后,它们将移交给页面,以便它知道所有用户数据都是有效的,并且可以继续进行注册过程。
Web工作者对于改善基于Web的程序的用户体验有很多希望。 浏览器屏幕的更新速度大大提高,因为现在有多个进程在进行更新。
但是,仍有一些事情需要解决。 首先,线程安全性和并发性可能是一个问题。 请记住,这些是客户端过程,实际上是在使用后端Web服务器在客户端上调用OS级线程。 根据定义,这里没有太多标准化。
其次,向Web Worker传递脚本的统一资源标识符(URI),以便在创建脚本时执行该脚本。 尽管目前在浏览器供应商之间关于这些URI是否需要通过相同的嗅探测试存在一些分歧,但这些URI应该通过为响应客户端安全问题而开发的同源策略。
最后,必须对传递给共享Web Worker的信息包进行序列化,这可能是一个缓慢的过程。 在某些时候,使用Web Worker的效率必须与序列化的处理时间相抵消。
