2013-07-25 64 views
1

我使用的是BlockingQueue,希望能夠窺視隊列中的下一個元素。 Queue.peek()給了我第一個下一個元素,但我需要更深入。深入窺視隊列

有沒有標準的方法,或者我應該自己實現它(包括處理線程安全問題)?

回答

-2

使用,而LOPP此

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

這將清空隊列! – Elist

0

瞭解您所使用的數據結構和它的目的。

您可以通過不同的數據結構來完成同樣的工作,如[List,Set,Array,Vector,Stack,Queue等]。但是他們每個人都有自己的特點。

隊列用於FIFO,在那裏你以相同的方式訪問元素,訪問下一個元素,第一個元素應該從中移出

+0

這不是'BlockingQueue',因爲這是它的主要功能。有時我需要檢查隊列內容而不傷害其他線程,這些線程需要從中獲取()。有什麼建議麼? – Elist

+0

@Elist,告訴我你在哪裏看到BlockingQueue或任何其他隊列實現具有此功能 – Reddy

+0

我沒有,這就是爲什麼我正在尋找一個解決方案... – Elist