成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓無憂網!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網 > 新聞資訊 > 電腦/IT > python培訓 >  Python基礎教程知識:進程和線程概述

Python基礎教程知識:進程和線程概述

來源:培訓無憂網 發布人:云朵

2022-03-15 09:53:50|已瀏覽:136次

Python基礎教程知識:進程和線程概述

Python基礎教程知識:進程和線程

Python基礎教程1、多任務操作系統

      Windows、Linux和Mac OS等一些常用的操作系統都是多任務操作系統。其中,多任務是指操作系統可以同時運行多個任務。例如,用戶使用Windows操作系統可以一邊用瀏覽器上網查閱資料,一邊用音樂播放器聽歌,一邊用PowerPoint制作幻燈片,這就是多任務。多任務至少有3個任務在操作系統中同時運行,與此同時還有一些任務在后臺運行著,只是這些任務沒有顯示在桌面上而已。

      基于摩爾定律,近年來CPU技術得到了飛速地發展,現在多核CPU已經成為計算機的“標配”。然而,即使在多年前使用單核CPU,Windows操作系統本身就是多任務操作系統。多任務操作系統的CPU是順序執行代碼的,那么單核CPU執行多任務就需要時分復用,即操作系統輪流讓各個任務交替執行。例如,操作系統中同時有3個任務,任務1執行0.01秒,切換到任務2;任務2執行0.01秒,切換到任務3;任務3執行0.01秒,切換到任務1;任務1執行0.01秒,切換到任務2……這樣反復循環執行下去。實際上,在單核CPU中,每個任務都是交替執行的,但是由于CPU的主頻大多數以吉赫茲為單位,執行速度極快,用戶在使用計算機時,是感覺不到時間間隔的,因此,用戶使用計算機時就像所有任務都在同時執行一樣。

      真正地同時運行多任務只能在多核CPU上實現,但由于CPU的核心數量遠遠小于任務的數量,因此,目前操作系統依舊效仿單核CPU時的策略,也會自動將很多任務輪流調度到每個核心上運行。

Python基礎教程2、進程與線程

      在操作系統中,一個任務就是一個進程(Process)。例如,打開一個瀏覽器就是啟動了一個瀏覽器進程,打開一個播放器就啟動了一個播放器進程,打開兩個Word文檔就啟動了兩個Word進程。

      有些進程可能會同時做多件事,如Word可以同時進行打字、拼寫檢查、打印等。在一個進程內部,多件事需要同時做,那么多個子任務就需要同時運行,這些子任務稱為線程(Thread)。

      一個進程至少有一個線程,這是因為一個進程至少要做一件事。如上例所述的Word進程可以有多個線程,而且多個線程可以同時運行。與多進程類似,多線程的運行方式也是由操作系統在多個線程之間進行快速切換。在操作系統中每個線程都短暫地交替運行,而對于用戶而言,看起來就像同時在運行一樣。當然,基于多核CPU能夠真正地同時運行多線程。

Python基礎教程3、多進程與多線程

      前文中編寫的Python程序,都是執行單任務的進程,而且只有一個線程。如果多個任務要同時執行怎么辦?實際中有以下兩種常用的解決方案:

      ①多進程,即啟動多個進程,多個進程可以同時執行多個任務(注意,此處每個進程只有一個線程)。

      ②多線程,即只啟動一個進程,在這個進程中啟動多個線程,這樣多個線程也可以同時執行多個任務。

      除此之外,還可以采用混合模式,即先啟動多個進程,每個進程再啟動多個線程。但由于這種模式比以上兩種更復雜,實際中很少采用。

      執行多任務時,通常各個任務之間是有關聯的,需要相互通信和協調。例如,有多個任務,任務1有時必須暫停等待任務2完成后才能繼續執行,任務3和任務4有時又不能同時執行,因此,實現的復雜度要遠遠高于單進程單線程的程序。

      即使多進程或多線程的程序復雜度高且調試困難,但現實中很多情況都需要設計多任務框架才能解決問題。例如,在手機上看電影時,播放器進程中就必須有一個線程播放視頻,另一個線程播放音頻,否則,如果采用單線程來實現,那么就只能先將視頻播放完再播放音頻,或者先將音頻播放完再播放視頻,這對用戶而言顯然是不可接受的。

      總而言之,多任務可以由多進程完成,也可以由一個進程內的多線程完成。如何調度進程和線程,完全由操作系統決定,Python程序自己不能決定什么時候執行,執行多長時間。多進程和多線程的程序涉及同步、數據共享等問題,編寫起來比較復雜。

      注:尊重原創文章,轉載請注明出處和鏈接 http://m.hebeijilong.cn/news-id-25111.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注python培訓頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規劃更適合你的專業課程!
  • 姓名:

  • 手機:

  • 地區:

  • 想學什么:

  • 培訓無憂網
免 費 申 請 試 聽
提交申請,《培訓無憂網》課程顧問老師會一對一幫助你規劃更適合你的專業課程!