1. 程式人生 > 其它 >利用webworker實現前端的多執行緒程式設計

利用webworker實現前端的多執行緒程式設計

技術標籤:前端JavaScriptjavascriptjs前端

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body
>
<!-- 主執行緒 --> <h1 id="num1"></h1> <h1 id="num2"></h1> <button id="start">啟動</button> <script> /* start.onclick = function(){ for(let i = 0; i < 999999; i++){ num1.innerHTML = i } } */
// 以上做法在for迴圈過長的情況下會阻塞主執行緒,故應使用webworker方式另外新建一個程序處理 start.onclick = function(){ var w = new Worker('worker.js') w.onmessage = function(e){ num1.innerHTML = e.data } w.postMessage('') }
</script> </body> </html>
// 另外新建的執行緒worker.js
onmessage = function (e){ for(let i = 0; i < 999999; i++){ this.postMessage(i) } }