Python3 4模擬實現生產者消費者模式

2021-09-02 06:20:39 字數 811 閱讀 3876

[b][color=green][size=large]散仙使用python3.4模擬實現的乙個生產者與消費者的例子,用到的知識有執行緒,佇列,迴圈等,原始碼如下:

[/size][/color][/b]

[b][color=green][size=large]在本例裡面散仙啟動了1個生產者執行緒,2個消費者執行緒,列印效果如下:[/size][/color][/b]

[b][color=green][size=large]從這個例子中,我們發現利用佇列,來做同步時非常簡單方便的,除此之外佇列,還有如下幾個方便的方法:[/size][/color][/b]

介紹一下此包中的常用方法:

queue.qsize() 返回佇列的大小

queue.empty() 如果隊列為空,返回true,反之false

queue.full() 如果佇列滿了,返回true,反之false

queue.full 與 maxsize 大小對應

queue.get([block[, timeout]])獲取佇列,timeout等待時間

queue.get_nowait() 相當queue.get(false)

非阻塞 queue.put(item) 寫入佇列,timeout等待時間

queue.put_nowait(item) 相當queue.put(item, false)

queue.task_done() 在完成一項工作之後,queue.task_done()函式向任務已經完成的佇列傳送乙個訊號

queue.join() 實際上意味著等到隊列為空,再執行別的操作

Java多執行緒模擬實現消費者生產者問題

author sun 生產者消費者模型 public class multithreading public static void main string args author sun 倉庫類 class store 向倉庫中新增貨物的方法 public synchronized void ad...

OS 多執行緒模擬實現生產者和消費者

c thread 模擬實現的生產者消費者實驗。多生產者多消費者 by darius include using namespace std const int maxsize 4 倉庫大小 const int plan 100 計畫生產的產品個數 struct warehouse static vo...

生產者模擬佇列

題目 實現乙個佇列 佇列的應用場景為 乙個生產者執行緒將int型別的數入列,乙個消費者執行緒將int型別的數出列。這段代段太美了,值得儲存 include include using namespace std templateclass circular bool empty bool full ...