什麼是Web workers?為什麼我們需要他
A、Web workers的定義:Web Workers為WEB前端網頁上的指令碼,提供了一種能在後臺程式中執行的方法。
一旦它被建立,Web Workers就可以通過postMessage()向任務池傳送任務請求,
執行完之後再通過postMessage()返回訊息給建立者指定的事件處理程式(通過onmessage進行捕獲)。
Web Workers程式能夠在不影響使用者介面的情況下處理任務,並且,它還可以使用XMLHttpRequest來處理I/O
,無論responseXML和channel屬性是否為null。
B、使用Web workers的原因:通過使用Web Worker, 我們可以在瀏覽器後臺執行Javascript, 而不佔用瀏覽器自身執行緒(Web work實現多執行緒)。Web Worker可以提高應用的總體效能,並且提升使用者體驗。
<span style="color:#cc33cc">Web Worker主執行緒</span>
1.通過 worker = new Worker( url ) 載入一個JS檔案來建立一個worker,同時返回一個worker例項。
2.通過worker.postMessage( data ) 方法來向worker傳送資料。
3.繫結worker.onmessage方法來接收worker傳送過來的資料。
4.可以使用 worker.terminate() 來終止一個worker的執行。
相關文章
- 什麼是 Web Workers?Web
- Elasticsearch:是什麼?你為什麼需要他?Elasticsearch
- GC是什麼?為什麼我們要去使用它GC
- [譯] 為什麼我們需要 Web 3.0Web
- Service Mesh是什麼,為我們解決了什麼問題?
- 什麼是 BPMN ?為什麼我們要用 BPMN 和工作流 ?
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 為什麼我們需要 VuexVue
- 我們為什麼要用RedisRedis
- 我們為什麼而工作
- 面試官問我:什麼是訊息佇列?什麼場景需要他?用了會出現什麼問題?面試佇列
- 什麼是Web快取,為什麼要使用它Web快取
- Web3.0是什麼,為什麼MetaVerse這麼火?WebMetaverse
- 我認為 web3 是什麼(大白話 web3)Web
- 我們為什麼需要async/await ?AI
- 我們為什麼需要 lock 檔案
- 我們為什麼仍然信任遠端工作
- 我們工作到底為了什麼
- web assembly是什麼,能幹什麼Web
- 我們為什麼熱愛種田遊戲遊戲
- 為什麼我們要在遊戲裡“牽手”?遊戲
- 我們為什麼要技術寫作
- GitHub:我們為什麼會棄用jQuery?GithubjQuery
- 為什麼springcloud值得我們學習?SpringGCCloud
- 為什麼我們做分散式使用Redis?分散式Redis
- 我們為什麼需要API管理系統?API
- 我們為什麼要使用CRM系統?
- 為什麼我們需要訊息佇列?佇列
- 為什麼我們需要HTML5 WebSocketHTMLWeb
- 我們為什麼要使用GO語言?Go
- 為什麼我們的web前端變的越來越複雜Web前端
- Koala Framework是什麼?我為什麼要寫這個框架?Framework框架
- 為什麼我認為就算人工智慧可以全面替代人類我們也無需擔心人工智慧
- web前端是什麼?Web前端
- 什麼是Web serverWebServer
- 什麼是Web ServerWebServer
- Web service是什麼?Web
- 我為什麼是程式設計師?程式設計師