JAVA併發程式設計之多執行緒併發同步業務場景與解決方案

2021-08-26 02:46:37 字數 709 閱讀 3434

假如現在有20個人去售票廳買票,但是只有2個視窗,那麼同時只能有2個人買票,當2個人任意乙個人買好票離開之後,等待的18個人中又會有乙個人可以占用視窗買票

拆解:

20個人就是20個執行緒;2個視窗就資源

實際含義就是:怎麼控制同一時間併發數為2

semaphore 訊號量(控制併發執行緒數)

注意使用的時候:獲取和釋放

acquire()

release()

公司組織去聚餐,各自從家裡出發,全部到齊之後,才開始一起吃飯(同步點),假如人員沒有到齊,到的人就只能等待(阻塞)。直到所有人都到齊之後才開始吃飯。

吃完飯,到江北廣場,進行吃雞活動

cyclicbarrier 可迴圈的障礙物

統計,對賬,銀行,財務,多個人協同統計

多執行緒計算,最後合併結果

綁架案,目的是為了用錢來贖人

張三團夥綁架了小喬,放言要1000萬來贖人,張三聯絡小喬家人大橋達成一致

張三團夥和大橋同時到底約定地點,然後一手交錢,一手交人。

拆解:

兩個執行緒,在用乙個點,交換資料。

exchanger 兩個執行緒進行資料交換

場景:

用於2個執行緒交換資料

校對工作,檢驗結果

countdownlatch 倒計時計數器

有乙個任務,她需要等待其他某幾個任務執行完畢之後才能執行

python併發程式設計之多執行緒

程序包含了執行該程式所需要所有資源 程序是乙個資源單位 執行緒是cpu的最小執行單位 每乙個程序一旦被建立 就預設開啟了一條執行緒 稱之為主線程 使用執行緒可以提高程式效率 為何不用多程序提高效率 是因為程序對作業系統的資源耗費非常高 執行緒共享建立它的程序的位址空間 程序有自己的位址空間。執行緒可...

1 3併發程式設計之多執行緒通訊

多執行緒之間通訊,其實就是多個執行緒在操作同乙個資源,但是操作的動作不同。1.因為涉及到物件鎖,他們必須都放在synchronized中來使用.wait notify一定要在synchronized裡面進行使用。2.wait必須暫定當前正在執行的執行緒,並釋放資源鎖,讓其他執行緒可以有機會執行 3....

python併發程式設計之多執行緒一

一,什麼是執行緒 執行緒也被稱為輕量程序電腦科學術語,指執行中的程式的排程單位。執行緒是程序中的實體,乙個程序可以擁有多個執行緒,乙個執行緒必須有乙個父程序。執行緒不擁有系統資源,只有執行必須的一些資料結構 它與父程序的其它執行緒共享該程序所擁有的全部資源。執行緒可以建立和撤消執行緒,從而實現程式的...