當多個選項卡在那裏運行多個進程是合乎邏輯的,但在我的Google Chrome瀏覽器中,我發現只有單個選項卡下有多個進程。我認爲這是一些線程卡住,所以我重新啓動我的電腦,只打開谷歌瀏覽器,並發現相同的行爲。我使用Windows 7爲什麼Google Chrome在打開單個選項卡時運行多個進程?
回答
少崩潰或者至少在一個進程崩潰並不是所有的瀏覽器崩潰,提高安全性,讓事情並行
谷歌瀏覽器運行充分利用了這些屬性並將Web應用程序和插件從瀏覽器本身放在不同的進程中。這意味着一個Web應用程序中的渲染引擎崩潰不會影響瀏覽器或其他Web應用程序。這意味着操作系統可以並行運行網絡應用程序來提高響應能力,這意味着如果某個特定的Web應用程序或插件停止響應,瀏覽器本身不會鎖定。這也意味着我們可以在限制性沙箱中運行渲染引擎進程,以幫助在發生漏洞攻擊時限制損害。在這個世界上,將所有內容放在一個進程中的瀏覽器都面臨着穩健性,響應性和安全性方面的實際挑戰。如果一個Web應用程序在渲染引擎中導致崩潰,那麼它將帶着瀏覽器的其餘部分,包括任何其他打開的Web應用程序。 Web應用程序通常必須在單個線程上相互競爭CPU時間,有時會導致整個瀏覽器無響應。安全也是一個問題,因爲利用渲染引擎中的漏洞的網頁經常會佔用整個計算機。
https://www.howtogeek.com/124218/why-does-chrome-have-so-many-open-processes/
在此之上,瀏覽器是渲染HTML,JavaScript和CSS的部分已經隨着時間的推移非常複雜。這些渲染引擎在不斷髮展時經常會出現錯誤,其中一些錯誤可能會導致渲染引擎偶爾崩潰。此外,渲染引擎通常會面臨來自網絡的不信任甚至惡意代碼,這些代碼可能會嘗試利用這些錯誤在您的計算機上安裝惡意軟件。在這個世界中,將所有內容放在一個進程中的瀏覽器都面臨着健壯性,響應性和安全性方面的真正挑戰。如果一個Web應用程序在渲染引擎中導致崩潰,那麼它將帶着瀏覽器的其餘部分,包括任何其他打開的Web應用程序。 Web應用程序通常必須在單個線程上相互競爭CPU時間,有時會導致整個瀏覽器無響應。安全也是一個問題,因爲利用渲染引擎中的漏洞的網頁經常會佔用整個計算機。
https://blog.chromium.org/2008/09/multi-process-architecture.html
Chrome提供了插件,網絡應用程序,渲染引擎和其他人從瀏覽器本身獨立的進程。
這樣做是爲了使這些進程之一失敗時,它不會影響整個瀏覽器甚至整個選項卡,因爲它們也是獨立的進程。
例如,Firefox沒有這個功能,而是在頁面中檢測到應該導致問題的腳本,並向您顯示一個對話框供您停止使用。
總結:
瀏覽器將這些不同的過程:
- 瀏覽器
- 瀏覽器(是的,再鍍鉻本身它已經2個進程)
- 每個選項卡
- 每個分機(在最少一個分機)
- 每個網絡應用程序
- 每個插件
- 每一個不管,每個人都是一個過程,耶!
這有助於事情可以並行運行,並且這些東西並沒有結束崩潰整個瀏覽器。
- 1. Chrome擴展 - 打開多個選項卡
- 2. 谷歌搜索查詢在Chrome中打開多個選項卡
- 3. 下拉菜單 - 多個選項卡打開一個選項
- 4. 通過書籤在Chrome中打開多個選項卡
- 5. 爲什麼在運行時打開多個模擬器?
- 6. 如何在Chrome中一次打開多個選項卡?
- 7. Javascript在單個瀏覽器中打開多個選項卡
- 8. Chrome選項卡和進程
- 9. PowerShell ISE打開多個選項卡
- 10. 爲什麼我的表單在新選項卡中打開?
- 11. 在Chrome中選擇多個選項卡
- 12. 打開新選項卡並在兩個選項卡中運行腳本
- 13. 是否可以將Google Chrome作爲ConEmu/Cmder選項卡打開?
- 14. 打開多個選項卡的IE
- 15. 在多個選項卡上運行宏
- 16. 在Chrome擴展的Javascript中爲多個函數打開新選項卡問題
- 17. OpenSwing打開窗口選項卡欄 - 最多6個選項卡
- 18. 爲什麼我的Chrome擴展程序代碼未打開新選項卡?
- 19. 在IE9中使用流程打開多個選項卡
- 20. 爲什麼窗口打開有時會打開一個新選項卡,有時會彈出一個窗口?
- 21. AppleScript在Google Chrome中打開當前的Firefox 4選項卡
- 22. Chrome擴展程序 - 填寫表格後打開多個選項卡
- 23. pageToOverride Chrome擴展程序 - 設置默認選項卡打開Chrome
- 24. 如何使用Excel在打開的Chrome選項卡中打開新URL而不打開新選項卡
- 25. 單擊Chrome通知時轉到已打開的選項卡
- 26. 爲什麼當我點擊webview中的鏈接時,它不會在Chrome上打開一個新選項卡?
- 27. 選擇ActionBar選項卡時打開新行選項卡
- 28. 爲什麼node.js運行兩個進程?
- 29. 如何打開新選項卡時打開新選項卡
- 30. 用頁面中所選單詞打開一個新選項卡
我知道Chromium是Chrome的一個開源項目,它是他們發佈的那種細節。會發生什麼呢?我認爲只寫十幾個字(現在是二十個字)是懶惰的,並且引用其餘的部分,不管你讀過什麼東西,無論如何也不需要太多時間去做......這實際上是一個建議你改進你的答案。但是,無論如何,這是你的答案。 –