js 创建多线程的方法 Worker

JavaScript016

js 创建多线程的方法 Worker,第1张

Worker 支持主流的浏览器 IE10 以下不支持

a.js 内容

var i =0

setInterval((function () {

postMessage(i++)

}),1000)

使用 postMessage 向主线程 传送消息

var worker =new Worker('a.js') // 写入需要引入的 js

console.log(worker)

worker.onmessage =function () {

console.log(event.data)

}

//用于关闭worker线程 

 worker.terminate()

搜索一下Concurrent.Thread,它是一个允许进行多线程编程的库。

其实都是使用settimeout之类的函数模拟出来的

例如:

settimeout(function1,1)

settimeout(function2,1)

settimeout(function3,1)

这样就相当于同时触发三个函数。如果这三个函数都是调用一段功能的代码,那就相当于同时执行三次,也就是三个线程。

JS本身是不支持多线程的。