首頁 web前端 js教程 運行在背景的JavaScript執行緒--Web Worker

運行在背景的JavaScript執行緒--Web Worker

Jun 25, 2017 am 09:28 AM
web worker 什麼

簡單點說,Web Worker就是一個運行在背景的JavaScript線程,不會影響頁面的回應。

我們知道,JavaScript是單執行緒的腳本語言,也就是同一時刻只能做一件事情,否則會帶來極為複雜的同步問題。例如JavaScript同時有兩個線程,一個線程負責為某個DOM節點添加內容,另一個線程刪除這個節點,這時,瀏覽器要以哪個線程為主呢?

所以,為了避免同步複雜性的問題,JavaScript從一誕生起就是單線程,這也是這門語言的特徵。

JavaScript的單執行緒機制會帶來一個問題,當有一些非常複雜的任務需要處理時,頁面必須等待任務處理完成才能回應使用者的操作,這對於頁面的回應及使用者體驗都會帶來一些負面的影響,為了解決這個問題,同時也是為了利用多核心CPU的運算能力,HTML5提出了Web Worker標準,允許JavaScript創建多個線程,但是新創建的這些線程將作為子線程並且完全受主線程的控制。且不得操作DOM,其實本質上還是單線程。 所以,我們可以把一些費時的任務交給Web Worker創建的子執行緒在後台完成,而前台頁面依然可以處理使用者的回應。

由於Web Worker創建的線程是受限的子線程,所以會有一些使用限制:

  • #Web Worker無法存取DOM節點;

  • Web Worker無法存取全域變數或是全域函數;

  • Web Worker無法呼叫alert()或confirm之類的函數;

  • Web Worker無法存取window、document之類的瀏覽器全域變數;

不過Web Worker中的Javascript依然可以使用setTimeout(),setInterval()之類別的函數,也可以使用XMLHttpRequest物件來做Ajax通訊。

目前所有主流瀏覽器均支援 web worker,除了 Internet Explorer。

 

熟悉Angular的朋友應該都很清楚,Angular1最被大家詬病就是它的髒檢查機制,當scope的資料量過多時會嚴重影響效能。而Angular2正是藉助WebWorker來把繁重的運算工作移入輔助線程,讓介面線程不受影響。

 

以上是運行在背景的JavaScript執行緒--Web Worker的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) 如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) Dec 31, 2023 pm 05:15 PM

技嘉的主機板怎麼設定鍵盤開機首先,要支援鍵盤開機,一定是PS2鍵盤! !設定步驟如下:第一步:開機按Del或F2進入bios,到bios的Advanced(進階)模式普通主機板預設進入主機板的EZ(簡易)模式,需要按F7切換到進階模式,ROG系列主機板預設進入bios的進階模式(我們用簡體中文來示範)第二步:選擇到-【進階】-【進階電源管理(APM)】第三步:找到選項【由PS2鍵盤喚醒】第四步:這個選項預設是Disabled(關閉)的,下拉之後可以看到三種不同的設定選擇,分別是按【空白鍵】開機、按組

i7 3770的最佳搭配顯示卡是什麼? i7 3770的最佳搭配顯示卡是什麼? Dec 29, 2023 am 09:12 AM

酷睿i73770配什麼顯卡好啊RTX3070是一款非常強大的顯示卡,它具有出色的性能和先進的技術。無論是玩遊戲、渲染圖形或是進行機器學習,RTX3070都能輕鬆應付。它採用了NVIDIA的Ampere架構,擁有5888個CUDA核心和8GB的GDDR6內存,能夠提供流暢的遊戲體驗和高品質的圖形效果。 RTX3070也支援光線追蹤技術,能夠呈現逼真的光影效果。總而言之,RTX3070是一款強大且先進的顯示卡,適合那些追求高效能和高品質的使用者使用。 RTX3070是一款NVIDIA系列的顯示卡。採用第2代NVID

選擇適合音樂生的平板電腦 選擇適合音樂生的平板電腦 Jan 10, 2024 pm 10:09 PM

音樂生用什麼平板合適華為的ipad中的12.9吋音響是一款非常好的產品。它配備了四個揚聲器,音效非常出色。而且,它屬於pro系列,相比其他款式稍微更好。整體來說,ipadpro是一款非常優秀的產品。這款mini4手機的喇叭聲音較小,效果一般般。不能用來外放音樂,還是需要依賴耳機來享受音樂。耳機音質好的會有稍微好一些的效果,而便宜的三四十元的耳機就無法滿足要求了。鋼琴電子譜用什麼平板如果您想購買一台10寸以上的iPad,我推薦使用兩款應用程序,分別是Henle和Piascore。 Henle提供

如何使用Golang實作網頁應用程式的表單驗證 如何使用Golang實作網頁應用程式的表單驗證 Jun 24, 2023 am 09:08 AM

表單驗證是Web應用程式開發中非常重要的環節,它能夠在提交表單資料之前對資料進行有效性檢查,避免應用程式出現安全漏洞和資料錯誤。使用Golang可以輕鬆實現網頁應用程式的表單驗證,本文將介紹如何使用Golang來實作網頁應用程式的表單驗證。一、表單驗證的基本要素在介紹如何實作表單驗證之前,我們需要知道表單驗證的基本要素是什麼。表單元素:表單元素是指

web標準是什麼東西 web標準是什麼東西 Oct 18, 2023 pm 05:24 PM

Web標準是一組由W3C和其他相關組織制定的規範和指南,它包括HTML、CSS、JavaScript、DOM、Web可訪問性和性能優化等方面的標準化,透過遵循這些標準,可以提高頁面的兼容性、可訪問性、可維護性和效能。 Web標準的目標是使Web內容能夠在不同的平台、瀏覽器和裝置上一致地展示和交互,提供更好的使用者體驗和開發效率。

選擇適合您的RX580的驅動版本 選擇適合您的RX580的驅動版本 Dec 29, 2023 pm 05:34 PM

rx5808g安裝什麼驅動好20.5.1和20.4.2WHQL是指軟體或驅動程式的版本號。這些版本號通常用於標識軟體或驅動程式的更新或修復。在電腦領域中,WHQL代表Windows硬體品質實驗室,它是微軟公司用來測試和驗證硬體和驅動程式的合規性和穩定性的機構。因此,20.5.1和20.4.2WHQL表示這些軟體或驅動程式已經通過了微軟的測試和驗證,可以安全地使用在Windows作業系統中。 AMDrx580顯示卡相對穩定驅動20.5.1和20.4.2WHQL是指軟體或驅動程式的版本號。這些版本號通

cortana的功能是什麼? cortana的功能是什麼? Jan 15, 2024 pm 10:15 PM

在使用微軟公司開發的Windows10作業系統過程中,不少用戶對於其中名為Cortana的全新技術感到好奇和疑惑,Cortana在中文語境中的正式稱呼為“小娜”,實際上是Windows10系統內置的一款人工智慧(AIassistant)服務程式cortana小娜常見問題及解決方法怎麼開啟小娜沒反應解決步驟不支援中國解決方法搜尋框放到cortana裡的方法cortana是什麼軟體答:"Cortana小娜"是由微軟公司精心打造的一款雲端平台個人智慧助手,具備登陸與非登陸兩種使用模式。當您處於登入狀

i34150搭配1G獨顯適合玩哪些遊戲(i34150適用於哪些遊戲) i34150搭配1G獨顯適合玩哪些遊戲(i34150適用於哪些遊戲) Jan 05, 2024 pm 08:24 PM

i34150搭配1G獨顯能玩哪些遊戲能玩lol等小遊戲。 GTX750和GTX750TI是非常適合的顯示卡選擇。如果只是玩一些小遊戲或不玩遊戲,建議使用i34150的整合式顯示卡就可以了。一般來說,顯示卡和處理器的搭配差價並不是很大,所以選擇合理的搭配是很重要的。若需要2G顯存,建議選擇GTX750TI;若只需要1G顯存,直接選擇GTX750即可。 GTX750TI可以看作是GTX750的增強版本,具有超頻功能。 i34150可以搭配什麼顯示卡依需求,如果你打算玩單機遊戲,建議你考慮更換顯示卡。你可以選擇

See all articles