好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳細介紹 進程、線程和協程的區別

詳細介紹 進程、線程和協程的區別

熱門標簽:地圖標注審核工作怎么樣注冊 無錫電銷機器人銷售 招聘信息 揭陽外呼系統公司 去哪里辦卡 鄭州中國移動400電話申請 熱血傳奇沃瑪森林地圖標注 福建ai電銷機器人加盟公司 地圖標注植物名稱 南召400電話辦理資費

詳解 進程、線程和協程的區別

首先,給出“進程、線程和協程”的特點:

  • 進程:擁有自己獨立的堆和棧,既不共享堆,也不共享棧,進程由操作系統調度;
  • 線程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,標準線程由操作系統調度;
  • 協程:擁有自己獨立的棧和共享的堆,共享堆,不共享棧,協程由程序員在協程的代碼里顯示調度。

接下來,以一個形象的例子,進一步講述“進程、線程和協程”三者之間的區別:

假設有一個單核的操作系統,系統上沒有其它的程序需要運行,現有兩個線程 A 和 B,A 和 B 在單獨運行時都需要 10 秒來完成自己的任務,而且任務都是運算操作,線程 A 和 B 之間沒有競爭和共享數據的問題。現在讓 A 和 B 兩個線程并行,則操作系統會不停的在 A 和 B 兩個線程之間切換,達到一種偽并行的效果。

如果操作系統切換的頻率是每秒一次,切換的成本是 0.1 秒(主要是棧切換),則總共需要 20 + 19 * 0.1 = 21.9 秒;如果使用協程的方式,可以先運行協程 A,A 結束的時候讓位給協程 B,只發生一次切換,則總共需要 20 + 1 * 0.1 = 20.1 秒。如果操作系統是雙核的,而且線程是標準線程,那么線程 A 和 B 可以達到真的并行,則總時間為 10 秒;而協程的方式仍然需要 20.1 秒的時間。

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

您可能感興趣的文章:
  • python并發編程之多進程、多線程、異步和協程詳解
  • python線程、進程和協程詳解
  • 深入淺析python中的多進程、多線程、協程
  • 簡述Python中的進程、線程、協程

標簽:南昌 景德鎮 文山 鹽城 黔南 宣城 東莞 桂林

巨人網絡通訊聲明:本文標題《詳細介紹 進程、線程和協程的區別》,本文關鍵詞  詳細,介紹,進程,線程,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳細介紹 進程、線程和協程的區別》相關的同類信息!
  • 本頁收集關于詳細介紹 進程、線程和協程的區別的相關信息資訊供網民參考!
  • 推薦文章