我目前正在寻找一个线程安全的程序,允许我在我的程序中实现时间优先级。如果您愿意,我很乐意与您分享代码,但这对我的问题并不重要,我认为这并不重要。我最初在启动并运行该程序的(非线程安全)版本时使用了链表,但现在我正在切换到线程安全版本,我已经从链表更改为并发链接队列。问题是我需要从队列中获取元素(通常从头部,偶尔从尾部)。我真的只需要看看头部的元素是否满足某个属性。在链表版本中,它看起来像:
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 方法相同的目标?(如您所见,我只需要获取该对象,以便我可以开始使用与该对象相关的方法来处理其他事情)。
太感谢了!