本文由以下文章參考整理:
http://www.cnblogs.com/Eva-J
https://www.jb51.net/article/102004.htm
為企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價托管、品牌運營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!進程:擁有自己獨立的堆和棧,既不共享堆,也不共享棧,進程由操作系統(tǒng)調(diào)度;
線程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,標(biāo)準(zhǔn)線程由操作系統(tǒng)調(diào)度;
協(xié)程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,協(xié)程由程序員在協(xié)程的代碼里顯示調(diào)度
# 例,進一步講述“線程和協(xié)程”之間的區(qū)別:
假設(shè)有一個單核的操作系統(tǒng),系統(tǒng)上沒有其它的程序需要運行,現(xiàn)有兩個線程 A 和 B,A 和 B 在單獨
運行時都需要10 秒來完成自己的任務(wù),而且任務(wù)都是運算操作,線程 A 和 B 之間沒有競爭和共享數(shù)據(jù)
的問題?,F(xiàn)在讓 A 和 B 兩個線程并行,則操作系統(tǒng)會不停的在 A 和 B 兩個線程之間切換,達到一種
偽并行的效果。
如果操作系統(tǒng)切換的頻率是每秒一次,切換的成本是 0.1 秒(主要是棧切換),則總共需
20 + 19 * 0.1 = 21.9 秒;如果使用協(xié)程的方式,可以先運行協(xié)程 A,A 結(jié)束的時候讓位給協(xié)程 B,
只發(fā)生一次切換,則總共需要 20 + 1 * 0.1 = 20.1 秒。如果操作系統(tǒng)是雙核的,而且線程是標(biāo)準(zhǔn)線程,
那么線程 A 和 B 可以達到真的并行,則總時間為 10 秒;而協(xié)程的方式仍然需要 20.1 秒的時間
1. 線程棧: windows 默認1M ,Linux 默認8M ,根據(jù)線程實際需要動態(tài)擴展棧大小
------在windows中------
$ 若線程需要的線程棧小于默認的1M,則按照頁面文件大小的倍數(shù)開辟, 例需要10k 則開辟 4k * 3 = 12k
$ 若大于1M,例 需要1025k, 則按照1M的整數(shù)倍開辟??臻g 2M
進程切換分兩步:
1.切換頁目錄以使用新的地址空間
2.切換內(nèi)核棧和硬件上下文
對于linux來說,線程和進程的大區(qū)別就在于地址空間,對于線程切換,第1步是不需要做的,第2是進程和線程
切換都要做的。
切換的性能消耗:
1、線程上下文切換和進程上下問切換一個最主要的區(qū)別是線程的切換虛擬內(nèi)存空間依然是相同的,但是進程切換
是不同的。這兩種上下文切換的處理都是通過操作系統(tǒng)內(nèi)核來完成的。內(nèi)核的這種切換過程伴隨的最顯著的性能
損耗是將寄存器中的內(nèi)容切換出。
2、另外一個隱藏的損耗是上下文的切換會擾亂處理器的緩存機制。簡單的說,一旦去切換上下文,處理器中所有
已經(jīng)緩存的內(nèi)存地址一瞬間都作廢了。還有一個顯著的區(qū)別是當(dāng)你改變虛擬內(nèi)存空間的時候,處理的頁表緩沖
(processor's Translation Lookaside Buffer (TLB))或者相當(dāng)?shù)纳耨R東西會被全部刷新,這將導(dǎo)致內(nèi)存的
訪問在一段時間內(nèi)相當(dāng)?shù)牡托?。但是在線程的切換中,不會出現(xiàn)這個問題
未完,待續(xù)~~
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。