Khi điền hàng đợi từ nội dung của tệp, độ sâu dường như không bao giờ tăng, vì các phần tử không được thêm vào trong quá trình triển khai này.Hàng đợi Đầy đủ, Chiều sâu của Hàng đợi Chặn, làm rõ cần thiết
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
}
Khi thay thế offer
với add
, ngoại lệ nếu ném
Exception in thread "main" java.lang.IllegalStateException: Queue full
...
am i làm gì sai xin vui lòng? Tại sao hàng đợi đầy ngay lập tức, khi chèn phần tử đầu tiên?
RTFM ftw. Cảm ơn bạn Mat. Sẽ chấp nhận trong 10 phút – JAM
Trong thực tế, bạn thậm chí không thể BREATHE trong sự hiện diện của một hàng đợi đồng bộ như KHÔNG CÓ KHÔNG ĐỂ BREATHE. Một hàng đợi đồng bộ là tất cả mọi thứ và không có gì, nó ở khắp mọi nơi và hư không. Các tác động siêu hình của hàng đợi đồng bộ không thể được hiểu bởi những cư dân trên trái đất. – Tudor