簡體   English   中英

生產者消費者阻止隊列

[英]Producer Consumer Blocking Queue

我遇到的情況是我有多個生產者和一個消費者。 出於性能原因,我不希望使用者受到任何形式的阻塞,但是由於可以有更多的生產者,因此如果隊列已滿,則應該“阻塞”。

是否有提供我這種行為的隊列,或者如何根據需要修改ArrayBlockingQueue?

使用非阻塞ArrayBlockingQueue.poll為消費者和阻塞ArrayBlockingQueue.put對於生產企業

任何BlockingQueue實現有什么問題? 如果隊列已滿,您的使用者可以調用非阻塞的 peek() poll() ,而生產者可以調用put(E e)進行阻塞。

UPDATE

如果將隊列用於繁重的任務,則LMAX的中斷環緩沖區可能是性能最高的排隊結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM