你能描述一下漸進加強和優雅降級之間的不一樣嗎
優雅降級:Web站點在全部新式瀏覽器中都能正常工做,若是用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工做。因爲IE獨特的盒模型佈局問題,針對不一樣版本的hack實踐了優雅降級,爲那些沒法支持功能的瀏覽器增長候選方案,使得在舊式瀏覽器上以某種形式降級體驗卻不至於徹底失效.c++
漸進加強:從被全部瀏覽器支持的基本功能開始,逐步的添加那些只有新式瀏覽器才支持的功能,向頁面增長無害於基礎瀏覽器額外樣式和功能的。當瀏覽器支持時,它們會自動地呈現出來併發揮做用.數組
線程與進程的理解
1.首先要知道的第一個小問題:瀏覽器
進程是什麼?
進程指的是在系統中運行的一個應用程序,程序一旦運行就是進程,是資源分配的最小單位安全
線程是什麼?
線程是進程的一個執行單位,是程序執行的最小單位.併發
2.第二個問題:進程與線程的區別在哪裏佈局
區別一:進程擁有獨立的堆棧空間和數據段,因此每當啓動一個新的進程必須分配給它獨立的地址空間,創建衆多的數據表來維護它的代碼段,堆棧段和數據段,這對於多進程來講十分奢侈,系統開銷很大,而線程不同,它不擁有資源,沒有獨立地址空間,可是線程有私有的棧,程序計數器,本地方法區。(這些是放在進程的地址空間上,只有某個特色的線程能夠去訪問,其餘線程訪問不到。但如果用c++或c語言,產生數組越界問題,就能夠訪問到其餘線程的棧了,致使其餘線程的異常),線程比進程更節儉,開銷比較小,切換速度快,可是進程的安全性較高,由於有獨立的地址空間,一個進程崩潰後,不會對其餘進程產生影響,而線程死掉就等於整個進程死掉線程
區別二:在通訊機制上,由於進程互不干擾,相互獨立,因此通信機制複雜,例如管道,消息隊列。而線程因爲共享數據因此通信機制很方便隊列
區別三:同一個進程,全部線程共享該進程的全部資源.進程
區別四:線程一定也只能屬於一個進程,而進程能夠擁有多個線程並且至少擁有一個線程;資源
3.第三個問題:進程與線程的選擇問題
若需頻繁建立銷燬則優先使用線程.若需頻繁切換則優先使用線程.並行操做時使用線程須要更穩定安全時,使用進程