python 併發和並行概念剖析以及併發的解決方案

2021-10-03 10:14:15 字數 869 閱讀 9361

併發和並行的區別

並行:在同乙個時間點上同時有幾件事情可以同時做,核心是有這麼多事情同時做

併發:在一段時間內,能把指定的事情幹完就行,核心是有這麼多事情要做

在一條鄉村公路.在同一段時間內有許多車輛要路過村莊,這就是併發,但是有部分路面受損,交警來了,管制交通,梳理車道,讓南向北向車輛互不干擾,穿過村莊,這就是並行

12點開飯,學生下課湧向食堂,這就是併發,如果是新生也來了,這就是高併發呀!!

解決方式

1.佇列,緩衝區(說白了就是排隊)

假設女生優先,那就是分成兩隊,如果女生打飯對列來了,男生佇列就等待,女生就是優先佇列

2.爭搶

誰擠進去誰打飯,打飯的時候是霸佔視窗的,視窗不能為其他人提供飯菜,就是鎖機制也叫排他性鎖.不能說飯還沒打完那,又被搶了,這樣就不是爭搶了這是"打架"!!全亂套了.

注意:有可能會出一直搶不到的問題

3.預處理(快取)

提前把80%的熱門飯菜提前做好,而20%的冷門菜現做.減少視窗鎖定時間

4.並行

多視窗,多隊伍打飯,這是一種水平擴充套件的思想

5.提速

提高單個視窗的打飯速度,這是一種垂直擴充套件的思想

6.訊息中介軟體

地鐵門外的九區迴腸的走廊,緩衝**,他講的是程式與程式之間解耦緩衝,這麼多人進地跌絕對不能讓進去,這樣地鐵可能會崩潰,所以做一道攔截.

技術源於生活~~~~~

併發和並行的概念

於優秀博主 你吃飯吃到一半,來了,你一直到吃完了以後才去接,這就說明你不支援併發也不支援並行。你吃飯吃到一半,來了,你停了下來接了 接完後繼續吃飯,這說明你支援併發。不一定是同時的 你吃飯吃到一半,來了,你一邊打 一邊吃飯,這說明你支援並行。併發的關鍵是你有處理多個任務的能力,不一定要同時。並行的關...

併發和並行

併發和並行的區別 乙個處理器同時處理多個任務和多個處理器或者是多核的處理器同時處理多個不同的任務。併發和並行的區別就是乙個處理器同時處理多個任務和多個處理器或者是多核的處理器同時處理多個不同的任務。前者是邏輯上的同時發生 simultaneous 而後者是物理上的同時發生 併發性 concurren...

併發和並行

並發行和並行性的區別可以用饅頭做比喻。前者相當於乙個人同時吃三個饅頭和三個人同時吃乙個饅頭。今天聽乙個學長說的,感覺挺形象的!併發性 concurrence 指兩個或兩個以上的事件或活動在同一時間間隔內發生。併發的實質是乙個物理cpu 也可以多個物理cpu 在若干道程式之間多路復用,併發性是對有限物...