JS多线程(web work)

时间:2023-03-09 09:48:22
JS多线程(web work)

JS多线程
JS多线程不允许操作DOM

1. 引用Concurrent Thread.js库
用法:Concurrent.Thread.Create(function(){};)

2. Web Work
html5新增的,不需要引用第三方库
//逻辑放在task.js中
let worker = new Worker("task.js");
//监听返回的数据
worker.onmessage = function(event){
alert(event.data);
}
//向线程post数据
worker.postMessage(1000);

task.js
onmessage = function(event){
let num = event.data;
let result = 0;
for(var i = 0;i<num;i++){
result += i;
}
//向线程创建者返回消息
postMessage(result);
}