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