2013-07-25 2 views
1

나는 BlockingQueue을 사용 중이며 큐의 다음 요소를 들여다보고 싶습니다. Queue.peek()는 나에게 첫 번째 요소를 제공하지만 더 깊게 갈 필요가 있습니다.큐 깊이 들어가기

표준 방법이 있습니까, 아니면 직접 구현해야합니까 (스레드 안전 문제 처리 포함)? 이

while ((value=q.poll())!=null) 
      System.out.println(value); 
    } 

답변

-2

사용은 사용하는 데이터 구조와 그것의 목적을 이해합니다.

[List, Set, Array, Vector, Stack, Queue 등과 같은 다른 데이터 구조로 동일한 작업을 수행 할 수 있습니다. 그러나 그들 모두는 그들 자신의 특징을 가지고있다.

대기열은 동일한 방법으로 요소에 액세스하는 곳에서 다음 요소에 액세스하려면 , 첫 번째 요소는에서 이동해야합니다.

+0

이렇게하면 대기열이 비워집니다! – Elist

0

에 대한 lopp 동안

+0

이것은 블로킹 큐 (BlockingQueue)가 아닙니다. 주요 기능이기 때문입니다. 때로는'take()'하는 다른 쓰레드를 해치지 않으면 서 큐의 내용을 검토 할 필요가 있습니다. 어떤 제안? – Elist

+0

@Elist, BlockingQueue 또는 다른 큐 구현에이 기능이있는 것을 보여 주시겠습니까 – Reddy

+0

그 이유는 해결책을 찾고있는 이유입니다 ... – Elist