Я думаю, что передумаю свой вопрос из
Где вы должны использовать реализации BlockingQueue вместо простых реализаций очереди?
to
Каковы преимущества/недостатки реализации BlockingQueue over Queue с учетом таких аспектов, как скорость, concurrency или другие свойства, которые различаются, например, время доступа к последнему элементу.
Я использовал оба вида очередей. Я знаю, что Blocking Queue обычно используется в параллельном приложении. Я писал простой пул ByteBuffer, где мне нужен был какой-то заполнитель для объектов ByteBuffer. Мне нужна была самая быстрая реализация потоковой безопасности. Даже существуют реализации List, такие как ArrayList, которые имеют постоянное время доступа для элементов.
Может ли кто-нибудь обсудить преимущества и недостатки реализации BlockingQueue vs Queue vs List?
В настоящее время я использовал ArrayList для хранения этих объектов ByteBuffer.
Какую структуру данных я должен использовать для хранения этих объектов?