需要一個循環的FIFO緩衝區(如果隊列已滿,總是刪除ealiest項),我們可以使用blockingqueue來實現它嗎?我們是否可以使用blockingqueue來實現循環緩衝區
0
A
回答
1
是的。見ArrayBlockingQueue:
public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, Serializable
甲界阻塞隊列由 陣列的支持。該隊列命令元素FIFO (先進先出)。 隊列的頭部是那個隊列上最長時間處於 的元素。隊列的尾部 是 在最短時間內排隊的元素。 將新元素插入隊列的尾部 ,隊列檢索 操作獲取隊列頭部 處的元素。
這是一個典型的「有界緩衝」,在 其中固定大小的數組持有由消費者提取生產者和 插入 元件。一旦創建, 的容量不能增加。 嘗試將一個元素放入完整的 隊列將導致放置操作 阻塞;嘗試從空隊列檢索 元素將類似地阻止 。
+1
我的quetsion是隊列滿的時候可以把刪除頭的方法自動插入尾巴嗎? – user496949 2011-04-12 23:38:20
+0
自動:否。但是你可以使用'offer()',如果失敗了,你可以自己移除頭並重試。 – 2011-04-13 00:05:30
相關問題
- 1. 此循環緩衝區實現是否需要信號量?
- 2. Qt是否有循環緩衝區?
- 3. 使用deque在C++中實現循環緩衝區
- 4. 如何使用文件實現循環緩衝區?
- 5. cuda使用循環緩衝區的核心外實現
- 6. 具有可變大小項目的循環緩衝區實現
- 7. 我們是否需要使用<canvas>來實現雙緩衝?
- 8. 在Android的藍牙通信中實現BlockingQueue緩衝區
- 9. 如何在C中實現循環列表(環形緩衝區)?
- 10. 在Linux下調試:是否存在類似tty的循環緩衝區實現?
- 11. 使用SQL的循環緩衝區
- 12. debugfs - 環形緩衝區實現-linux
- 13. C++ threadsafe環緩衝區實現
- 14. 我是否需要使用WeakReference來實現循環依賴?
- 15. while循環在Java中的BlockingQueue實現
- 16. 高效循環緩衝區?
- 17. 循環緩衝區優化
- 18. 逆循環緩衝區
- 19. 縮小循環緩衝區
- 20. 循環緩衝區「requestBufferSize:couchbase
- 21. 爲什麼我的環形緩衝區/循環緩衝區在java打破?
- 22. 循環數組/緩衝區實現中的NullReferenceException
- 23. 作爲「FIFO隊列」的Javascript循環緩衝區隊列實現
- 24. 如何在SelectListItems列表中實現循環緩衝區?
- 25. 如何在Python中實現循環緩衝區?
- 26. 問題有關C實現循環緩衝區的
- 27. 如何在黑莓或Java中實現循環緩衝區?
- 28. 磁盤上的循環緩衝區實現
- 29. 針對FIR濾波器的循環緩衝區實現C
- 30. 使用OpenGL實現Z緩衝區
'BlockingQueue'只是一個用於多線程模式的'Queue'。爲什麼不只是一個'隊列'? – 2011-04-12 23:26:56
修改問題 – user496949 2011-04-12 23:28:21