LinkedBlockingcequeue правильный выбор для производителя-потребителя, как сценарий?

StackOverflow https://stackoverflow.com/questions/3044561

Вопрос

У меня есть продюсер-потребительский сценарий. Класс A производит объекты типа E. Я должен удерживать его в статической структуре данных в классе a, потому что потребительская логика должна обрабатываться в классе B, что не имеет ссылки на объект A. - это LinkedBlockingQueue Change для правильного типа данных очередь? Или есть лучший выбор для этого?

Это было полезно?

Решение

Если вы используете ограниченную очередь, вы также можете рассмотреть ArrayBlockingQueue.

Также, от LinkedBlockingQueue Javadoc:

Связанные очереди обычно имеют более высокую пропускную способность, чем очереди на основе массива, но менее предсказуемая производительность в большинстве одновременных приложений.

Другие советы

Если производитель и потребитель проходят в двух разных потоках, то да, А. LinkedBlockingQueue<E> будет хорошим выбором.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top