Я думаю, что в большинстве случаев ArrayBlockingQueue будет работать лучше, чем LinkedBlockingQueue. Однако это тот случай, когда в массиве всегда достаточно места... Если он заполняется, он не очень предсказуем, будет ли он работать так хорошо, поскольку он блокирует поток, который пытается вывести данные в очередь..
Итак, мой вопрос: есть ли какая-либо промежуточная реализация BlockingQueue? Скажем, ArrayListBlockingQueue или BucketListBlockingQueue? Что-то вроде списка массивов, так что очередь может динамически увеличиваться в емкости, при этом все еще имея разумную выгоду от использования массива для хранения данных в конечном итоге?