我正在寻找一个线程安全的程序,允许我在我的程序中实现时间优先级。如果你愿意的话,我很高兴与你分享代码,但这对我的问题并不重要。我最初使用链表时正在努力获得并运行该程序的(非线程安全)版本,但是现在我正在切换到一个线程安全的版本,我已从链表更改为并发链接队列。问题是我需要从队列中获取元素(通常是从头部,偶尔从尾部)。我真的只需要看看头部的元素是否满足某个属性。在链表版本中,它看起来像:
if (order.getQuantity()>= a.getFirst().getQuantity()){
Fill orderfill = new Fill(a.getFirst().getQuantity(),a.getFirst().getLimitPrice(), order.getOrderID(),a.getFirst().getOrderID());
fills.add(orderfill);
order.setQuantity(order.getQuantity()-a.getFirst().getQuantity());
a.removeFirst();
这里“a”是我的链接列表。当我更改为并发链接队列时,getFirst方法不再存在。是否有一个队列友好的方法可以实现与链表的getFirst或getLast方法相同的目标? (正如你所看到的,我只需要获取对象,这样我就可以开始使用与该对象相关的方法了。)
非常感谢你!