一、Web Worker
1. Web Worker是 運(yùn)行在后臺(tái)的javascript
worker其實(shí)就是就一個(gè)js文件對(duì)象,worker可以讓他所包含的js代碼運(yùn)行在后臺(tái)
2. 特點(diǎn):
1)充分利用多核CPU的優(yōu)勢(shì)
2)對(duì)多線程支持非常好
3)不會(huì)影響頁(yè)面的性能
4)不能訪問(wèn)web頁(yè)面和DOM API
5)所有的主流瀏覽器均支持web worker,除了Internet Explorer
3. Worker提供API
1)檢測(cè)當(dāng)前瀏覽器是否支持Worker
typeof(Worker) !== "undefined“
2)創(chuàng)建Worker文件
創(chuàng)建普通的 JS 文件,都可以用于 Web Worker 文件
3)創(chuàng)建Web Worker對(duì)象
var worker = new Worker("myTime.js");
參數(shù)就是在第二步創(chuàng)建的js文件的路徑
4)worker事件
onmessage事件
用于監(jiān)聽(tīng) Web Worker 傳遞消息,通過(guò)回調(diào)函數(shù)接收傳遞的消息,通過(guò)回調(diào)函數(shù)的事件對(duì)象data 屬性可以獲取傳遞的消息
postMessage()
w.postMessage( “worker success.” );
通過(guò)postMessage() 方法傳遞消息內(nèi)容
w.terminate();
在HTML頁(yè)面中,通過(guò)調(diào)用 Web Worker 對(duì)象的terminate( ) 方法終止 Web Worker。
創(chuàng)建WebWorker對(duì)象
Worker對(duì)象
onmessage事件,當(dāng)執(zhí)行postMessage事件時(shí)會(huì)觸發(fā)
postMessage()方法
terminate()方法
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。