亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳細(xì)介紹 進(jìn)程、線程和協(xié)程的區(qū)別

 更新時間:2017年03月28日 10:15:12   作者:維C果糖  
這篇文章主要介紹了詳細(xì)介紹 進(jìn)程、線程和協(xié)程的區(qū)別的相關(guān)資料,需要的朋友可以參考下

詳解 進(jìn)程、線程和協(xié)程的區(qū)別

首先,給出“進(jìn)程、線程和協(xié)程”的特點:

  • 進(jìn)程:擁有自己獨立的堆和棧,既不共享堆,也不共享棧,進(jìn)程由操作系統(tǒng)調(diào)度;
  • 線程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,標(biāo)準(zhǔn)線程由操作系統(tǒng)調(diào)度;
  • 協(xié)程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,協(xié)程由程序員在協(xié)程的代碼里顯示調(diào)度。

接下來,以一個形象的例子,進(jìn)一步講述“進(jìn)程、線程和協(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 兩個線程之間切換,達(dá)到一種偽并行的效果。

如果操作系統(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 可以達(dá)到真的并行,則總時間為 10 秒;而協(xié)程的方式仍然需要 20.1 秒的時間。

感謝閱讀,希望能 幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念

    一文讀懂吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念

    這篇文章主要介紹了吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時間(RT)概念,在開發(fā)中需要先搞懂這些基礎(chǔ)知識,才能更好運用,需要的朋友可以參考下
    2020-07-07
  • git之reflog命令的使用

    git之reflog命令的使用

    git reflog 命令可以用來查看本地倉庫的所有操作記錄,包括所有分支的提交、合并、重置等操作,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2023-08-08
  • 圖文解析布隆過濾器大小的算法公式

    圖文解析布隆過濾器大小的算法公式

    這篇文章主要為大家介紹了布隆過濾器大小的算法公式圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪<BR>
    2022-04-04
  • 使用roolup構(gòu)建你的lib(實現(xiàn)步驟)

    使用roolup構(gòu)建你的lib(實現(xiàn)步驟)

    大家都知道Rollup更加適合用于構(gòu)建lib 而 Webpack, Precel 更加適合開發(fā)應(yīng)用。本文,將結(jié)合一個簡單的例子說說如何使用Rollup構(gòu)建自己的lib,感興趣的朋友一起看看吧
    2021-08-08
  • 玩客云折騰記錄之編譯?ArmBian?系統(tǒng)

    玩客云折騰記錄之編譯?ArmBian?系統(tǒng)

    本文將介紹如何從零到一編譯?Armbian?系統(tǒng),適配這臺設(shè)備的代碼來源,并對玩客云小設(shè)備進(jìn)行刷機。為之后的折騰做一個前置準(zhǔn)備
    2022-02-02
  • v語言初體驗小結(jié)

    v語言初體驗小結(jié)

    這篇文章主要介紹了v語言初體驗小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Typora?0.11.18免費版本安裝使用教程(親測可用)

    Typora?0.11.18免費版本安裝使用教程(親測可用)

    Typora是一款非常使用的筆記工具,對于程序員非常友好,在2021年11月23日,Typora?正式發(fā)布?1.0?版本,進(jìn)入了付費時代,Typora免費版本0.11.18(最后的免費版),本文給大家分享Typora免費獲取方法及安裝使用教程,感興趣的朋友參考下吧
    2022-07-07
  • Mercurial入門學(xué)習(xí)介紹

    Mercurial入門學(xué)習(xí)介紹

    Mercurail是一種分步式的版本控制器,和git類似,但是和傳統(tǒng)的svn有著很大的區(qū)別,需要的朋友可以參考下
    2016-08-08
  • 計算機程序設(shè)計并行計算概念及定義全面詳解

    計算機程序設(shè)計并行計算概念及定義全面詳解

    最近項目需要實現(xiàn)程序的并行化,剛好借著翻譯這篇帖子的機會,了解和熟悉并行計算的基本概念和程序設(shè)計,有需要的朋友可以借鑒參考下
    2021-11-11
  • 支付寶小程序向用戶發(fā)紅包的實現(xiàn)方法

    支付寶小程序向用戶發(fā)紅包的實現(xiàn)方法

    這篇文章主要介紹了支付寶小程序向用戶發(fā)紅包的實現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11

最新評論