Я создаю пул ресурсов, используя (java) LinkedBlockingQueue, где
- элементы ресурсов эквивалентны, принадлежат пулу, где их порядок не имеет значения.
- потребители являются конкурирующими потоками, захватывающими по одному ресурсу за раз, с помощью операции «вытягивания», работы с ресурсом и последующей передачи его обратно в пул с помощью операции «добавления».
- В то время как определенный ресурс используется потребительским потоком, он не должен быть доступен другим потребительским потокам.
Проблема заключается в следующем: LinkedBlockingQueue не создает FIFO ожидающих потребителей , а уровень службы не является единообразным.
Есть идеи по поводу топи c? Заранее спасибо.