python開發【第4篇】【進程、線程】

來源:互聯網
上載者:User

標籤:並發   主從   使用者   交流   服務員   main函數   過程   入口   啟用   

一、進程與線程概述:

  1. 進程,是並發執行的程式在執行過程中分配和管理資源的基本單位,每一個進程都有一個自己的地址空 間。
  2. 線程,是進程的一部分,一個沒有線程的進程可以被看作是單線程的。線程有時又被稱為輕權進程或輕量級進程,也是 CPU 調度的一個基本單位。
  3. 聯絡:
    • 進程擁有一個完整的虛擬位址空間,不依賴於線程而獨立存在;
    • 線程是進程的一部分,沒有自己的地址空間,與進程內的其他線程一起共用分配給該進程的所有資源

  4.區別:

    • 每個獨立的線程有一個程式啟動並執行入口、順序執行序列和程式的出口。線程不能夠立執行,必須依存在應用程式中,由應用程式提供多個線程執行控制。 
    • 進程就是一個應用程式在處理機上的一次執行過程,它是一個動態概念,而線程是進程中的一部分,進程包含多個線程在運行。

  5. 線程的執行特性:

    • 線程只有 3 個基本狀態:就緒,執行,阻塞。
    • 線程存在 5 種基本操作來切換線程的狀態:派生,阻塞,啟用,調度,結束。

  6. 進程通訊:

    • 單機系統中進程通訊有 4 種形式:主從式,會話式,訊息或郵箱機制,共用儲存區方式。
    • 主從式典型例子:終端控制進程和終端進程。
    • 會話式典型例子:使用者進程與磁碟管理進程之間的通訊。

   7.多進程和多線程:

    為何需要多進程(或者多線程),為何需要並發?

    多線程/進程,就像一個快餐點的服務員,既要在前台接待客戶點 餐,又要接電話送外賣,沒有分身術肯定會忙得你焦頭爛額的。

    多進程/線程技術是這麼一種技術,讓你可以像孫悟空一樣分身,靈魂出竅,樂哉樂哉地輕鬆應付一切狀 況。

    並發技術,就是可以讓你在同一時間同時執行多條任務的技術。你的代碼將不僅僅是從上到下,從左至右這樣規規矩矩的一條線執行。

    你可以一條線在main函數裡跟你的客戶交流,另一條線,你早就把你外賣送到了其他客戶的手裡。

 

 

python開發【第4篇】【進程、線程】

相關文章

聯繫我們

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