Tôi đang sử dụng PriorityBlockingQueue
với trường ưu tiên. Trong thử nghiệm của tôi, tôi sử dụng System#currentTime()
cho các ưu tiên — các ưu tiên tương tự được thu được bởi máy tính quá nhanh đến mức mili giây giống nhau (hoặc nhiều hơn mili giây trên PC có sai số).Tại sao PriorityQueue không hoạt động như một Hàng đợi?
Khi mức độ ưu tiên giống như hàng đợi hoạt động như thể đó là một chồng, điều này có vẻ lạ. Có cách nào khác để làm cho hàng đợi hoạt động như thể đó là hàng đợi bình thường (có nghĩa là, FIFO hơn là hành vi LIFO) khi các ưu tiên của các phần tử giống nhau không?
Đã thấy tài liệu, nhưng dự kiến rằng sẽ có một lớp tiện ích để tạo hàng đợi không phải là một ngăn xếp. Nếu tôi đặt trên hàng đợi, nó sẽ đi đến phía sau và nhảy hàng đợi nếu nó là một ưu tiên cao hơn. – Ben
Tại sao? Hầu hết người dùng sử dụng 'PriorityBlockingQueue' _with priority priorities._ –
vì Stack không phải là một Queue hay chỉ là Semantics? – Ben