python 多程序,乙個生產者(資料未重複),多個消費者消費重複了 怎麼解決?

時間 2021-05-30 11:12:16

1樓:淡定

本人計算機半路出家人員

看著你提出的問題有點像作業系統中講的一類問題,不知道我的理解對了沒;

你可以看一下關於作業系統訊號量解決系統資源分配的問題,看看能否幫你答疑解惑;

我記得應該專門針對生產者與消費著這一問題有專門的講解;

2樓:Justin Z

提供兩條思路:

multiprocessing模組下有Lock的,可以通過加鎖解決問題,可以參見官網:

multiprocessing - Process-based parallelism - Python 3.9.1 documentation

使用Manager模組中的ListProxy(就是宣告乙個共享的列表),將已經開始消費的ID放進去,其他程序檢測(高階封裝):

生產者程序和消費者程序如何同時訪問共享記憶體裡的多個緩衝區?

這種需求應該是用lock free佇列。而且1寫1讀的lock free佇列實現並不太難。如果自己沒把握寫得對,那就直接在網上找這些庫吧。 Chrim 剛好再看Modern Operating Systems P128 緩衝區的作用主要是保證事件處理的順序吧 如果只有緩衝區 size 1 那順序就無...

作為乙個普通消費者,什麼價位的摺疊屏手機你才會考慮購買?

白輝 現在7.2寸的mate 20x只要三千五。就挺符合我的需求的。摺疊就是為了手持方便?撐死加兩三千吧。當然算上5g有額外價值 哎丫隔壁怪蜀黍 對於我這樣的屌絲來說,6000塊一大關。但對於用摺疊手機能提高生產效率的人來說,1萬內估計都是合理的,畢竟高生產率,能夠帶來更高的產出比。 Lonely ...

如何打造乙個讓消費者聽得懂的技術品牌?

第一要把技術品牌打造變成企業的戰略核心 第二要使用新方法 新思維去打造技術品牌,我們總結為 新四化 科技化 標準化 故事化 去功能化。 感電 技術品牌不同於一般的有形產品品牌,要想建立和維護好技術品牌,必須明確區分它和有形產品品牌之間的不同點。1 產品廣泛應用的範圍不同 有形產品品牌廣泛應用於個人及...