从文件的内容填充队列时,深度似乎永远不会增加,因为在此实现中没有添加元素。
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
}
替换offer
为 时add
,如果抛出异常
Exception in thread "main" java.lang.IllegalStateException: Queue full
...
请问我做错了什么?为什么插入第一个元素后队列立即满了?