Я хочу иметь поток производителей, который будет извлекать из новых рабочих мест веб-сервера. Они должны храниться в локальном хранилище в виде очереди или в памяти. Тогда должен быть поток потребителей, который будет считывать из очереди и отправлять эти данные по rs232 serial. Только один потребитель для последовательного интерфейса, поскольку в противном случае это не имеет смысла. Проблема в том, как уведомлять потребительский поток, когда он обменивается данными с rs232?Java Producer Consumer 1 - N threads
1
A
ответ
1
Посмотрите на параллельный пакет.
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html
Одна из коллекций там, скорее всего, удовлетворить ваши потребности.
Потребительские потоки просто извлекают данные из очереди, поскольку они готовы к ее обработке.
Смежные вопросы
- 1. Java WildCards - Simple Producer Consumer
- 2. .NET Consumer/Producer (Queue)
- 3. Clojure Producer Consumer
- 4. Compound Producer-Consumer на Java
- 5. Producer-Consumer Issue
- 6. Single Producer Multiple Consumer
- 7. Решение Producer Consumer
- 8. ConnectionFactories for Producer & Consumer
- 9. Async Producer/Consumer
- 10. Java Producer Consumer ArrayBlockingQueue deadlock on take()
- 11. Java Producer/Consumer, использующий дубликаты ссылок LinkedBlockingQueue?
- 12. java.lang.IllegalMonitorStateException при внедрении Producer-Consumer в Java
- 13. java concurrency: multi-producer one-consumer
- 14. Kafka Producer Consumer API Issue
- 15. JMS Producer-Consumer-Observer (PCO)
- 16. Producer/Consumer с партией и скрытой функциональностью
- 17. Concurrent Producer and Consumer in Go
- 18. Неожиданный вывод в ошибке Consumer Producer
- 19. Basic BlockingCollection Producer Consumer в VB.NET
- 20. Простая потребительская программа Java Threads
- 21. Java Generic (1 из N) типов
- 22. Apache Kafka console Producer-Consumer пример
- 23. Темы работа баланс в реализации Producer-Consumer
- 24. Java-Threads-производитель-потребитель-общий буфер
- 25. Java реализация Producer Потребителя бросает java.lang.IllegalMonitorStateException
- 26. Single Producer/Consumer Ring Buffer в общей памяти
- 27. Завершение работы в Producer Потребительский многопоточность Java
- 28. Dead Lock in Producer Consumer C# Ограниченная очередь
- 29. Producer/Consumer многопоточный код не работает, как ожидалось класса
- 30. Kafka Consumer - реализация Java
Почему потребители 'N'? У вас есть несколько последовательных портов? В любом случае, это не совсем ясно, что проблема. –
Я не понимаю: почему вы хотите уведомить потребительский поток, когда он общается с rs232? не предполагается ли 1) ждать, пока очередь не будет пустой, 2) получить следующий элемент из очереди и отправить его через rs232? –
Да могут быть 2 последовательных порта. @MauricePerry да, он должен ждать. Но я хочу, чтобы это было надежным. Я не знал BlockingQueue. Ключ состоит в том, что «подождите, если в очереди нет ничего». – GorillaApe