Theo như tôi biết, wait()
và notify()
đã được thay thế bằng cơ chế đồng thời tốt hơn. Vì vậy, những gì thay thế tốt hơn bạn sẽ chọn, nói cho thực hiện a synchronized queue?Cách thay thế tốt nhất để chờ ... thông báo cho đồng bộ hóa ở mức độ thấp là gì?
Trong ý nghĩa nào chính xác là chúng "tốt hơn"?
Chỉnh sửa: Điều này ("triển khai hàng đợi đồng bộ") là một câu hỏi phỏng vấn. Một câu trả lời chấp nhận được không thể sử dụng BlockingQueue hoặc thực hiện hàng đợi khác. Tuy nhiên, nó có thể sử dụng các cấu trúc đồng bộ hóa khác như CountDownLatch. Tôi không có danh sách đầy đủ các lớp học được phép và bị cấm - hãy dùng đầu của bạn.
Tôi sẽ không triển khai hàng đợi được đồng bộ hóa. Tôi muốn sử dụng một trong nhiều triển khai của BlockingQueue: http://download.oracle.com/javase/6/docs/api/java/util/concurrent/BlockingQueue.html –
@Mike - Tôi đang chuẩn bị phỏng vấn xin việc . Trong cuộc sống thực, tôi sẽ sử dụng một cái gì đó tồn tại chứ không phải là tái tạo lại. – ripper234
Sau đó, tôi sợ tôi không hiểu câu hỏi. Các khối đồng bộ và chờ/thông báo đã được thay thế bằng các trừu tượng mức cao hơn dưới dạng các lớp trong gói java.util.concurrent, không phải bởi các cấu trúc ngôn ngữ mới. Nếu mục đích của câu hỏi là sử dụng một số lớp java.util.concurrent, chúng ta sẽ loại trừ những câu trả lời nào? –