1. 程式人生 > 實用技巧 >Js如何實現多執行緒

Js如何實現多執行緒

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的多執行緒執行和多執行緒之間資料的傳遞。