Từ JavaDocs:
- Một concienLinkedQueue là một lựa chọn thích hợp khi nhiều luồng sẽ chia sẻ quyền truy cập vào một bộ sưu tập chung. Hàng đợi này không cho phép các phần tử null.
- ArrayBlockingQueue là một "bộ đệm giới hạn" cổ điển, trong đó một mảng có kích thước cố định chứa các phần tử được chèn bởi các nhà sản xuất và được trích xuất bởi người tiêu dùng. Lớp này hỗ trợ một chính sách công bằng tùy chọn để đặt hàng các chủ đề của nhà sản xuất và người tiêu dùng đang chờ
- LinkedBlockingQueue thường có thông lượng cao hơn hàng đợi dựa trên mảng nhưng hiệu suất dự đoán ít hơn trong hầu hết các ứng dụng đồng thời.
Tôi có 2 kịch bản, một kịch bản yêu cầu hàng đợi để hỗ trợ nhiều nhà sản xuất (chủ đề sử dụng nó) với một người tiêu dùng và cách khác là cách khác.
Tôi không hiểu thực hiện để sử dụng. Ai đó có thể giải thích sự khác biệt là gì?
Ngoài ra, "chính sách công bằng tùy chọn" trong là ArrayBlockingQueue
gì?