2013-10-24 5 views

답변

2

아니요 아마도 당신은 당신의 필요에 따라 PriorityBlockingQueue을 확장 할 수 있습니다. take()은 500 개 이상의 요소가 있으면 되돌릴 수 있습니다.

private volatile size; 

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

다만 의사 코드.

+0

요소를 사용할 수있는대로 알려줍니다. 그러나 정의 가능한 수의 요소 (예 : 500)를 사용할 수있을 때만 알림을 받고 싶습니다. – pmf

+1

@ pmf 그는 "확장하다"고 말했다. 즉, 적절한 논리를 작성한다는 의미입니다. – Kayaman

3

한 요소의 대신 요소의 특정 수준 (하지 테이크() 메소드 등) 기다리고 허용 자바 BlockingPriorityQueue의 종류가 있습니까?

없음. a가 있습니다 PriorityBlockingQueue