併發:任務數量大於核心數,兩個或多個時間在同一時間間隔發生
並行:任務數量小於或等於核心數,兩個或多個時間在同一時間發生
你吃飯吃到一半,**來了,你一直到吃完了以後才去接,這就說明你不支援併發也不支援並行。
你吃飯吃到一半,**來了,你停了下來接了**,接完後繼續吃飯,這說明你支援併發。 (不一定是同時的)
你吃飯吃到一半,**來了,你一邊打**一邊吃飯,這說明你支援並行。
併發的關鍵是你有處理多個任務的能力,不一定要同時。
並行的關鍵是你有同時處理多個任務的能力。
同步:同步就是指乙個程序在執行某個請求的時候,若該請求需要一段時間才能返回資訊,那麼這個程序將會一直等待下去,直到收到返回資訊才繼續執行下去
非同步:非同步是指程序不需要一直等下去,而是繼續執行下面的操作,不管其他程序的狀態。當有訊息返回時系統會通知程序進行處理,這樣可以提高執行的效率。
python 同步非同步,併發並行,同步鎖
併發 系統具有處理多個任務 動作 的能力 並行 系統具有同時處理多個任務 動作 的能力 同步 當程序執行到乙個io 等待外部資料 的時候,需要等待,等待即同步 非同步 當程序執行到乙個io 等待外部資料 的時候,不需要等待,待資料接收成功後,再回來處理。gil 全域性解釋鎖 無論你有多少個執行緒,你...
併發並行同步非同步多執行緒
自 首先理解概念 你吃飯吃到一半,來了,你一直到吃完了以後才去接,這就說明你不支援併發也不支援並行。你吃飯吃到一半,來了,你停了下來接了 接完後繼續吃飯,這說明你支援併發。不一定是同時的 你吃飯吃到一半,來了,你一邊打 一邊吃飯,這說明你支援並行。併發的關鍵是你有處理多個任務的能力,不一定要同時。並...
併發,並行,同步,非同步, 阻塞, 非阻塞
併發 指某乙個時間段內 非時間點 有多個程式在乙個cpu上執行。例如在1s內,有100個程式執行,但只有乙個程式在某一時刻通過cpu切換程序在真正地執行。就可以說是1s內併發數量為100 並行 指在某乙個時間點,多個程式在多個cpu上被執行。同步 指是 呼叫io操作時,必須等待io操作完成才能返回的...