程序,執行緒,攜程複習

2022-09-05 11:36:17 字數 790 閱讀 9810

1、程序:正在進行的乙個過程或者說是乙個任務,而負責執行的就是cpu

2、同有個程式執行兩次,也就是兩個程序

3、同步執行:乙個程式正在執行,另乙個程式等執行完後才能執行

4、非同步執行:乙個程式正在執行時,另乙個程式無需等待執行完才執行,就可以執行。當有訊息返回系統會通知後者進行處理

5、無論並行或者併發,在使用者看來「同時執行」,不管程序還是執行緒都只是乙個任務而已,真正幹活的是cpu,cpu來做些任務,而乙個cpu同一時刻只能執行乙個任務

6、執行緒:執行緒顧名思義,就是一條流水線工作的過程,一條流水線就屬於乙個車間,乙個車間的工作過程就是乙個程序。

7、程序就只是用來把資源集中在一起,而執行緒才是cpu上的執行單位

8、協程:是單執行緒下的併發,又稱微執行緒,

9、程序與執行緒之間的關係:執行緒是屬於程序的,執行緒執行在程序空間內,同一程序所產生的執行緒共享同一記憶體空間,當程序退出時該程序所產生的執行緒都會被強制退出並清除。執行緒可與屬於同一程序的其它執行緒共享程序所擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一點在執行中必不可少的資訊

程序與執行緒的區別:

執行緒共享建立它的程序的位址空間;程序有自己的位址空間。

執行緒直接訪問程序的資料段;程序擁有父程序的資料段的自身副本。

執行緒可以直接與其他執行緒的過程;過程必須使用程序間通訊與兄弟姐妹的過程。

很容易建立新執行緒;新程序需要重複父程序。

執行緒可以對相同程序的執行緒進行相當的控制;程序只能對子程序進行控制。

對主線程的更改(取消、優先順序更改等)可能影響程序的其他執行緒的行為;對父程序的更改不會影響子程序。

執行緒 程序 攜程理解

併發 擁有處理多個任務的能力。對於單核cpu來說,只能處理併發 並行擁有同時處理多個任務的能力,對於多核cpu,即可以併發和並行同步和非同步強調的是訊息通訊機制如果乙個人這樣處理 先燒水,燒水的過程中啥也不幹,就一直等著,等水開後,再把茶葉放到開水壺中。這種處理方法就是同步處理 也就是說,乙個任務需...

Python執行緒,程序,攜程,I O同步,非同步

舉個栗子 我想get三個url,先用普通的for迴圈 import requests from multiprocessing import process from threading import thread import requests import time 正常遍歷 序列 同步 def...

多工 執行緒池 攜程池

多工 執行緒池 from queue import queue from multiprocessing.dummy import pool 資料佇列 self.data queue queue self.pool pool def run more task self,func,count 1 把...