web worker 简单例子

2020-06-22  本文已影响0人  菜蚴菜

一、特点

1、web worker 是html5提供的一个javascript多线程解决方案

2、可以将一些大计算量的代码交给web worker 运行,可以避免阻塞线程造成页面卡顿

3、子线程完全由主线程控制,不可操作dom(因为this不同,主线程this为window ,子线程为DedicatedWorkerGlobalScope 对象)

二、根据别人讲解的简单的应用例子

说明:

1、postMessage是主线程和子线程都有的

2、worker.js必须是同源的,不能使用本地文件

3、为了节省系统资源,使用完成以后必须关闭 Worker

     主线程worker.terminate();

     Worker 线程self.close();

三、不足

1、运行速度慢

2、不能跨域加载js

3、worker内代码不能访问DOM(更新UI)

4、不是每个浏览器都支持该特性

详细使用可以参考阮一峰大神的文章

http://www.ruanyifeng.com/blog/2018/07/web-worker.html

上一篇 下一篇

猜你喜欢

热点阅读