Js如何實現多執行緒
阿新 • • 發佈:2020-11-05
JS如何實現多執行緒
JS為我們提供了一個Worker的類,它的作用就是為了解決這種阻塞的現象。當我們使用這個類的時候,它就會向瀏覽器申請一個新的執行緒。這個執行緒就用來單獨執行一個js檔案。
var worker = new Worker(js檔案路徑); //這個語句就會申請一個執行緒用來執行這個js檔案。
在主執行緒中有一些方法來實現對新執行緒的控制和資料的接收。在這裡,我們只說比較常用的幾個方法。
//postMessage(msg); //postMessage方法把在新執行緒執行的結果傳送到瀏覽器的js引擎執行緒裡 worker.onmessage = function(){ //獲取在新執行緒中執行的js檔案傳送的資料 用event.data接收資料 console.log( event.data ) }; setTimeout( function(){ worker.terminate(); //terminate方法用於關閉worker執行緒 },2000) setTimeout( function(){ worker = new Worker("js/test22.js"); //再次開啟worker執行緒 },3000)
新執行緒中使用postMessage()方法可以向主執行緒中傳送一些資料,主執行緒中使用worker的onmessage事件來接收這些資料,這樣就實現了js的多執行緒執行和多執行緒之間資料的傳遞。