Tôi có tình huống có nhiều chủ đề sẽ bỏ phiếu một đơn BlockingQueue bằng cách gọi take(). Những gì tôi muốn biết là:BlockingQueues và thứ tự truy cập chuỗi
Nếu có nhiều chuỗi đang đợi hàng đợi nhận mục, họ sẽ được ưu tiên cho việc đưa các mục ra khỏi hàng đợi theo thứ tự mà họ thực hiện cuộc gọi của họ để thực hiện() hoặc thứ tự mà trong đó các chủ đề đưa mọi thứ ra khỏi hàng đợi là tùy ý?
Cảm ơn!
Lưu ý: Tôi đã viết các triển khai của riêng mình cho loại điều này trong quá khứ, nhưng tôi tự hỏi liệu việc triển khai BlockingQueue trong Java có làm điều này cho tôi hay không.
Nói chung, mọi ứng dụng đa luồng sẽ không đưa ra bất kỳ giả định nào về thứ tự thực thi chuỗi. Có nhiều cách để thực thi nó, nhưng ý tưởng đằng sau các ứng dụng MT là nó không nên được thực hiện. – Dariusz
Câu hỏi thú vị, tôi đã viết và chạy một chương trình - không có lệnh cố định nào. – Tala
[Câu hỏi liên quan] (http://stackoverflow.com/questions/1301691/java-queue-implementations-which-one) cũng thảo luận về sự công bằng. –