python並發編程之線程

來源:互聯網
上載者:User

標籤:模仿   多個   概念   for   back   cin   alt   line   important   

一,什麼是線程

   如把進程比作一個啟動並執行生產車間,那麼線程就是這個車間的一條流水線。進程只是用來把資源集中到一起(進程只是一個資源單位或資源吧集合),而線程才是CPU上的執行單位

    1,多線程(即多個控制線程)的概念,在一個進程中存在多個控制線程,多個控制線程共用該進程的地址空間,相當於一個車間內有多條流水線,都共用一個車間的資源。

    2,進程與線程之間的關係

      建立進程的開銷遠大於線程     進程之間是競爭關係,線程之間是協作關係

二,線程與進程之間的區別

     1,線程共用建立它的進程的地址空間;進程有自己的地址空間。

2,線程可以直接存取其進程的資料區段;進程有自己的父進程資料區段的副本。

3, 線程可以與進程的其他線程直接通訊;進程必須使用處理序間通訊來與同級進程通訊

4,新線程很容易建立;新進程需要父進程的重複。

5,線程可以對同一進程的線程進行相當大的控制;進程只能對子進程執行控制。

6,主線程(取消、優先順序變更等)的anges可能會影響進程中其他線程的行為;對父進程的更改不會影響子進程。

三,多線程的應用

1,多線程共用一個進程的地址空間

2,線程比進程更容易建立與撤銷,線程比進程更輕量級

3,存在大量的電腦和大量的I/O處理,在重疊的情況下程式執行速度加快

4,在CPU系統中,為了最大限度的利用多核,可開啟多個線程,比開進程開銷要小得多

四,多線程的應用

                               

threading模組------完全模仿了threading模組的介面

五,開啟線程的兩種方式

 

python並發編程之線程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.