python高效能編程--001--線程與進程的基本概念

來源:互聯網
上載者:User

標籤:python   高效能編程   

一、什麼是進程
進程是程式的一次執行,而程式即為磁碟中可執行檔二進位等類型的資料。
進程的生命週期:程式被讀取到記憶體中,被作業系統調用時才開始它的生命週期。
每個進程都有自己的地址空間、記憶體、資料棧以及其他記錄其運行軌跡的輔助資料,各個進程都有自己的記憶體空間、資料棧等,所以進程間不能直接共用資訊,只能使用處理序間通訊。

二、什麼是線程
所有的線程運行在同一個進程中,共用相同的運行環境。可以將線程想象成是在“主進程”或“主線程”並行啟動並執行“迷你進程”。
線程有開始、順序執行和結束三部分。
一個進程中的各個線程之間共用同一片資料空間,這就意味著線程之間的可以更方便地共用資料以及相互連信。
??注意線程一般都是並發啟動並執行,但是在單CPU系統中,並不存在真正的並發,因為某一時刻只能有一個線程在使用CPU資源。

三、總結
各個進程有各自的資料空間,所以進程間的通訊和資料共用會比較複雜;
線程共用相同的運行環境,共用同一片資料空間,資料共用和線程間通訊會相對簡單。
在I/O密集型操作,多進程與多線程運行效率相差相對較小;
在CPU密集型操作,多進程的運行效率比多線程效率高;

python高效能編程--001--線程與進程的基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.