Queue
объекты не обеспечивают произвольный доступ.Однако вы можете достичь той же цели, сохранив ссылки на объекты в очереди где-то еще и пометив их как устаревшие.Когда объект читается из очереди, потребитель может проверить, не устарел ли объект, и, если это так, выбросить его и прочитать снова.
Вы также можете найти значение в классе PriorityQueue
где вы помещаете (priority, message)
вместо просто message
в очередь, а данные с самым низким значением priority
всегда являются следующими считанными из очереди.Это само по себе не решит вашу проблему, но может дать вам способ расставить приоритеты для самого старого запроса или что-то в этом роде.