摘要:這些是放在進程的地址空間上,只有某個特點的線程可以去訪問,其他線程訪問不到。
你能描述一下漸進增強和優雅降級之間的不同嗎
優雅降級:Web站點在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工作。由于IE獨特的盒模型布局問題,針對不同版本的hack實踐了優雅降級,為那些無法支持功能的瀏覽器增加候選方案,使得在舊式瀏覽器上以某種形式降級體驗卻不至于完全失效.
漸進增強:從被所有瀏覽器支持的基本功能開始,逐步的添加那些只有新式瀏覽器才支持的功能,向頁面增加無害于基礎瀏覽器額外樣式和功能的。當瀏覽器支持時,它們會自動地呈現出來并發揮作用.
線程與進程的理解
1.首先要知道的第一個小問題:
進程是什么?
進程指的是在系統中運行的一個應用程序,程序一旦運行就是進程,是資源分配的最小單位
線程是什么?
線程是進程的一個執行單位,是程序執行的最小單位.
2.第二個問題:進程與線程的區別在哪里
區別一:進程擁有獨立的堆棧空間和數據段,所以每當啟動一個新的進程必須分配給它獨立的地址空間,建立眾多的數據表來維護它的代碼段,堆棧段和數據段,這對于多進程來說十分奢侈,系統開銷很大,而線程不一樣,它不擁有資源,沒有獨立地址空間,但是線程有私有的棧,程序計數器,本地方法區。(這些是放在進程的地址空間上,只有某個特點的線程可以去訪問,其他線程訪問不到。但若是用c++或c語言,產生數組越界問題,就可以訪問到其他線程的棧了,導致其他線程的異常),線程比進程更節儉,開銷比較小,切換速度快,但是進程的安全性較高,因為有獨立的地址空間,一個進程崩潰后,不會對其他進程產生影響,而線程死掉就等于整個進程死掉
區別二:在通信機制上,因為進程互不干擾,相互獨立,所以通訊機制復雜,例如管道,消息隊列。而線程由于共享數據所以通訊機制很方便
區別三:同一個進程,所有線程共享該進程的所有資源.
區別四:線程必定也只能屬于一個進程,而進程可以擁有多個線程而且至少擁有一個線程;
3.第三個問題:進程與線程的選擇問題
若需頻繁創建銷毀則優先使用線程.
若需頻繁切換則優先使用線程.
并行操作時使用線程
需要更穩定安全時,使用進程
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101346.html
摘要:如果看完本文后,還對進程線程傻傻分不清,不清楚瀏覽器多進程瀏覽器內核多線程單線程運行機制的區別。因此準備梳理這塊知識點,結合已有的認知,基于網上的大量參考資料,從瀏覽器多進程到單線程,將引擎的運行機制系統的梳理一遍。 前言 見解有限,如有描述不當之處,請幫忙及時指出,如有錯誤,會及時修正。 ----------超長文+多圖預警,需要花費不少時間。---------- 如果看完本文后,還...
摘要:瀏覽器渲染進程瀏覽器內核進程,內部是多線程的默認每個頁面一個進程,互不影響。事件觸發線程歸屬于瀏覽器而不是引擎,用來控制事件循環可以理解成引擎自己都忙不過來,需要瀏覽器另開線程協助。 線程和進程 進程和線程的概念可以這樣理解: 進程是一個工廠,工廠有它的獨立資源--工廠之間相互獨立--線程是工廠中的工人,多個工人協作完成任務--工廠內有一個或多個工人--工人之間共享空間 工廠有多個工人...
閱讀 657·2021-11-24 09:39
閱讀 3029·2021-11-23 10:06
閱讀 989·2021-10-08 10:05
閱讀 761·2019-08-30 10:49
閱讀 1736·2019-08-29 14:08
閱讀 1331·2019-08-29 12:48
閱讀 3326·2019-08-26 14:04
閱讀 3622·2019-08-26 13:50