執行緒

在計算機科學中,執行緒是指同時執行多個任務或程式的活動。每一個能夠執行程式碼的單元都稱為一個執行緒

主執行緒 是瀏覽器用於處理使用者事件、渲染和繪製顯示以及執行構成典型網頁或應用程式的大部分程式碼的執行緒。由於所有這些事情都發生在同一個執行緒中,緩慢的網站或應用程式指令碼會拖慢整個瀏覽器的速度;更糟糕的是,如果網站或應用程式指令碼進入無限迴圈,整個瀏覽器將凍結。這將導致使用者體驗令人沮喪、遲鈍(甚至更糟)。

現代 JavaScript 提供了建立額外執行緒的方法,每個執行緒獨立執行,同時可能相互通訊。這透過 Web Workers 等技術實現,這些技術可以用來啟動一個子程式,在它自己的執行緒中與主執行緒併發執行。這使得緩慢、複雜或長時間執行的任務可以獨立於主執行緒執行,從而保持網站或應用程式的整體效能——以及整個瀏覽器的效能。執行緒還可以讓 Web 應用程式利用現代多核處理器:實現比單核上執行的多執行緒應用程式更好的效能。

一種特殊型別的 worker,稱為 Service Worker,可以建立並在使用者許可的情況下被網站“留下”,即使在使用者當前不使用該網站時也能執行。這用於建立能夠通知使用者在他們不積極使用網站時發生的事件的網站。例如,通知使用者收到了新電子郵件,即使他們當前沒有登入他們的郵件服務。

總的來說,我們可以看到作業系統中的這些執行緒非常有幫助。它們有助於最小化上下文切換時間,實現更高效的通訊,並允許進一步利用多處理器架構。

另見