Java中基于级别通知的优先级队列

时间:2013-10-24 08:25:36

标签: java priority-queue

Java中是否有一种PriorityBlockingQueue允许等待某个级别的元素而不是一个元素等待(就像take()方法一样)?即“当级别达到500个元素时通知我”?

2 个答案:

答案 0 :(得分:3)

  

Java中是否存在允许等待的BlockingPriorityQueue   (就像take()方法那样)对于某个级别的元素而言   一个元素?

即可。有一个PriorityBlockingQueue

答案 1 :(得分:2)

不,你没有,也许你可以根据需要延长PriorityBlockingQueue。一旦你有超过500个元素,take()就会返回。

private volatile size;

public synchronized void take(){
      while(size<500){
        ........
        .........
      }
}

只是伪代码。