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