佇列 第一章 阻塞佇列

2022-03-21 17:12:51 字數 645 閱讀 5499

阻塞佇列與普通佇列的區別在於,當佇列是空的時,從佇列中獲取元素的操作將會被阻塞,或者當佇列是滿時,往佇列裡新增元素的操作會被阻塞。試圖從空的阻塞佇列中獲取元素的執行緒將會被阻塞,直到其他的執行緒往空的佇列插入新的元素。同樣,試圖往已滿的阻塞佇列中新增新元素的執行緒同樣也會被阻塞,直到其他的執行緒使佇列重新變得空閒起來,如從佇列中移除乙個或者多個元素,或者完全清空佇列,下圖展示了如何通過阻塞佇列來合作:

執行緒1往阻塞佇列中新增元素,而執行緒2從阻塞佇列中移除元素

(當然通過不同的實現方式,還可以延伸出很多不同型別的佇列,delayqueue就是其中的一種)

先進先出(fifo):先插入的佇列的元素也最先出佇列,類似於排隊的功能。從某種程度上來說這種佇列也體現了一種公平性。

後進先出(lifo):後插入佇列的元素最先出佇列,這種佇列優先處理最近發生的事件。 

介面結構和實現類:

RabbitMQ 訊息佇列 入門 第一章

官網 github 選單查詢 rabbitmq service start.exe 點選執行服務。新建控制台專案 新增引用 3.建立生產者 訊息生產者 訊息 public static void rabbitproducertest string message 例項化連線 using var co...

python第一章筆記 第一章 基礎

參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...

第一章 緒論

1.16 void print descending int x,int y,int z 按從大到小順序輸出三個數 print descending 1.17 status fib int k,int m,int f 求k階斐波那契序列的第m項的值f gender char schoolname 校...