當從文件內容填充隊列時,深度似乎不會增加,因爲在此實現中未添加元素。隊列滿,深度阻塞隊列,需要澄清
BlockingQueue<String> q = new SynchronousQueue<String>();
...
fstream = new FileInputStream("/path/to/file.txt");
...
while ((line = br.readLine()) != null) {
if (q.offer(line))
System.out.println("Depth: " + q.size()); //0
}
當add
更換offer
,異常,如果拋出
Exception in thread "main" java.lang.IllegalStateException: Queue full
...
什麼我做錯了嗎?爲什麼插入第一個元素後,隊列立即滿了?
RTFM ftw。謝謝你。將在10分鐘內接受 – JAM 2012-02-05 18:43:56
實際上,由於沒有空氣呼吸,您甚至無法在有同步隊列的情況下呼吸。同步隊列是一切,什麼都不是,它無處不在。單純地球居民無法理解同步隊列的形而上學意義。 – Tudor 2012-02-05 18:48:01