我唯一能找到的就是BoundedFIFOBuffer,它已被棄用。任何其他?Java中是否存在有界的非阻塞集合?
回答
BoundedFIFOBuffer
在Apache Commons Collections(我認爲是您所指的)不會被棄用,它只是移動了軟件包。原來在org.apache.commons.collections
已過時,反而被移到org.apache.commons.collections.buffer
有Apache中commons-collections一些有限的集合,包括BoundedFifoBuffer。
爲什麼不直接使用一個LinkedBlockingQueue
,並使用非阻塞方法offer
(或add
)和poll
訪問它?你可以創建一個固定的容量(即使它有界限)。
另一個不錯的選擇。謝謝。 – Justin 2009-08-17 20:29:52
可能不值得關注,但LinkedBlockingQueue仍然會鎖定。未來版本的熱點可能可以優化。但是稍後分析時應該注意一些事情。 – 2009-08-18 00:34:33
我最近一直在使用Google Collections。我認爲你可以很容易地使用Java Generics解決方案。有一個叫ForwardingList的課,我認爲你可以很容易地實現這個想法。顯然不像使用BoundedFifoBuffer(非泛型)或ArrayBlockingQueue那麼簡單。
final ArrayList<MyObject> realList = Lists.newArrayList();
final List<MyObject> list = new ForwardingList<MyObject>() {
protected List<MyObject> delegate() {
return realList;
}
public boolean add(MyObject obj) {
if(delegate().size() > 100) return false;
return delegate().add(obj);
}
};
- 1. Java中的非阻塞CAS是否真的非阻塞?
- 2. 是否是Task.Delay非阻塞?
- 3. Java中的gRPC - 阻塞/非阻塞存根
- 4. 在閃存中是否存在非阻塞io?
- 5. 是否有非阻塞emgu ImageViewer調用?
- 6. 是renderer.render()阻塞還是非阻塞?
- 7. Filewatcher是否在Java中考慮了非阻塞IO?
- 8. 使用非阻塞的SocketChannel,是否阻塞了Socket?
- 9. java.io.BufferedReader.readLine()是非阻塞
- 10. 非阻塞UDP I/O vs阻塞Java中的UDP I/O
- 11. mpi:阻塞與非阻塞
- 12. 如何java-nio是非阻塞混淆
- 13. Java非阻塞客戶端
- 14. SocketChannel write()read() - 非阻塞 - Java
- 15. 阻塞線程上是否存在ExecutorService?
- 16. 在java中有沒有(無界)公平阻塞隊列?
- 17. ESI是否阻塞或不阻塞?
- 18. 下面的node.js代碼是阻塞的還是非阻塞的?
- 19. 非阻塞用戶界面WPF/Silverlight
- 20. Scala中的非阻塞和阻塞未來是什麼?
- 21. 在java中阻塞
- 22. http.ServerResponse.write()是否阻塞?
- 23. 是C阻塞還是非阻塞的write()函數?
- 24. Java是否具有刪除策略的有界集合?
- 25. 帶延遲的阻塞/非阻塞
- 26. 是PHP蜱非阻塞
- 27. 我的(初學者)對阻塞和非阻塞io的理解是否正確?
- 28. 非阻塞IO Java中與邏輯
- 29. 非阻塞django?
- 30. 非阻塞setTimeout
謝謝,不知何故,我登陸了不推薦的頁面。 – Justin 2009-08-17 20:19:00