Я ищу лучшее решение для обмена данными между двумя различными потоками. Я уже написал собственное решение, но мне очень интересно слушать чужие мысли.Обмен данными между двумя потоками в java
Сценарий следующий: Основной поток запускает 2 разных потока, которые работают вместе одновременно.
Первый (Reader) должен считывать значения из источника InputStream
, а затем хранить их в объекте java bean.
Второй (Отправитель), каждые X секунд должен получать значения из предыдущего java-объекта и отправлять их в веб-службу.
Основная особенность сценария заключается в том, что объект должен использоваться совместно «в режиме реального времени». Я имею в виду:
Источник InputStream, о котором я упоминал выше, не имеет конца. Чтение чтения без остановки из этого источника и обеспечивает обновление экземпляра общего объекта с новыми считанными значениями. Отправитель, каждый х секунд, должен принять «моментальный снимок» объекта для отправки его в веб-службу.
По этой причине я считаю, что шаблон Продюсер/Потребитель не подходит для меня, потому что поток производителя не может создать «полный» объект, но он может постоянно обновлять один и тот же файл.
Принимая во внимание тот факт, что эта программа должна работать во встроенной платформе, производительность и оптимизация очень важны.
Каково ваше решение?
- EDIT - Простите меня, я понял, что важная функция (которая заставляет других уже отвечать на вопросы stackoverflow, которые не подходят для моих целей) сценария отсутствует, я отредактировал мой вопрос, в том числе и этот последний часть.
Не могли бы вы опубликовать свое решение в первую очередь? –
http://stackoverflow.com/search?q=%5Bjava%5D+Share+data+between+two+threads+in+java – MadConan
извините, но я не могу опубликовать свой код, потому что является собственностью моей компании. – wyr0