python--進程

我們要學習進程,首先得知道什麼是進程,我們想通過酷我聽歌,具體的過程應該是先找到酷我應用程序,然後雙擊就會播放音樂。 當我們雙擊的時候,操作系統將程序裝載到內存中,操作系統爲它分配資源,然後才能運 行。運行起來的應用程序就稱之爲進程。也就是說當程序不運行的時候我們稱之爲程序,當 程序運行起來他就是一個進程。通俗的理解就是不運行的時候是程序,運行起來就是進程。 程序和進程的對應關係是:程序只有一個,但是進程可以有多個。
注意:同一個程序執行兩次,就會在操作系統中出現兩個進程,所以我們可以同時運行一個軟件,分別做不同的事情也不會混亂。

進程的並行與併發

並行: 並行是指兩者同時執行,比如賽跑,兩個人都在不停的往前跑;(資源夠用,比如三個線程,四核的CPU )
併發:併發是指資源有限的情況下,兩者交替輪流使用資源,比如一段路(單核CPU資源)同時只能過一個人,A走一段後,讓給B,B用完繼續給A ,交替使用,目的是提高效率

那麼瞭解了他們是不是我們也瞭解一下他們的區別是什麼呢?

區別:
並行是從微觀上,也就是在一個精確的時間片刻,有不同的程序在執行,這就要求必須有多個處理器。
併發是從宏觀上,在一個時間段上可以看出是同時執行的,比如一個服務器同時處理多個session。

同步異步阻塞非阻塞

先來一段圖大家瞭解一下
在這裏插入圖片描述
  在瞭解其他概念之前,我們首先要了解進程的幾個狀態。在程序運行的過程中,由於被操作系統的調度算法控制,程序會進入幾個狀態:就緒,運行和阻塞。  
(1)就緒(Ready)狀態  當進程已分配到除CPU以外的所有必要的資源,只要獲得處理機便可立即執行,這時的進程狀態稱爲就緒狀態。 
(2)執行/運行(Running)狀態當進程已獲得處理機,其程序正在處理機上執行,此時的進程狀態稱爲執行狀態。  
(3)阻塞(Blocked)狀態正在執行的進程,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起進程阻塞的事件可有多種,例如,等待I/O完成、申請緩衝區不能滿足、等待信件(信號)等

在這裏插入圖片描述
想知道進程之間的通訊嗎?嘻嘻,別捉急,正在快馬加鞭做出來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章