[英]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.