A、Web workers的定义:Web Workers为WEB前端网页上的脚本,提供了一种能在后台进程中运行的方法。
一旦它被创建,Web Workers就可以通过postMessage()向任务池发送任务请求,
执行完之后再通过postMessage()返回消息给创建者指定的事件处理程序(通过onmessage进行捕获)。
Web Workers进程能够在不影响用户界面的情况下处理任务,并且,它还可以使用XMLHttpRequest来处理I/O
,无论responseXML和channel属性是否为null。
B、使用Web workers的原因:通过使用Web Worker, 我们可以在浏览器后台运行Javascript, 而不占用浏览器自身线程(Web work实现多线程)。Web Worker可以提高应用的总体性能,并且提升用户体验。
<span style="color:#cc33cc">Web Worker主线程</span>
1.通过 worker = new Worker( url ) 加载一个JS文件来创建一个worker,同时返回一个worker实例。
2.通过worker.postMessage( data ) 方法来向worker发送数据。
3.绑定worker.onmessage方法来接收worker发送过来的数据。
4.可以使用 worker.terminate() 来终止一个worker的执行。