Я работаю над приложением, которое включает в себя выборку данных по tcp с использованием скрученного api. Нашего процесс является слушатель приложением, которое позволяет слушать события и делает следующее ..вызовы скрученного реактора в отдельной строке
- процесса уведомления о событиях и создать словарь, послал его к применению третьей стороны
- Для завершения dictionary..it вызывает процесс используя скрученный api, чтобы получить дополнительные данные и завершить словарь.
Я не могу выполнить витые Api расстрелы на основном потоке еще после одиночных остановок execution..reactor и основного потока не происходит никакого дальнейшего прогресса ..
Что я хочу:
- для каждого Уведомление о событии --- обмотайте новый поток, чтобы сделать скрученный вызов tcp для получения данных.
- присоединяйтесь к mainThread с newThread, чтобы дождаться его завершения
- получить результаты, слить с помощью слова со встроенным словарем и отправить его стороннему приложению.
Пусть говорят, я слушаю eventObj1 в основном потоке ---
обработка включает шаги для экс step1 --- step2 --- step3 --- step4 - отправить к партии.
Предположим, что step4 включает в себя получение данных по tcp, и мы должны подождать, пока не будут доступны результаты, прежде чем мы сможем закончить словарь и отправить его третьей стороне.
так eventObj1 приходит я его в очередь для извлечения через TCP .. делая так я говорю reactor.start()
(реактор запущен в основном потоке) и через некоторое время я получаю данные и обратный вызов ДИКТ построен для event1 и отправить третьим лицам.
и, но я не могу стоять в очереди больше никаких событий для выборки данных, пока я не сделаю reactor.stop()
..because до reactor.stop()
не называется основной поток не может вернуться к обработке eventObj2 ..
Так что я думаю, то, что Мне нужно запустить реактор в отдельной нити..и держать очереди с событиями от главного реактора остановки нити до выхода основной программы
Непонятно, зачем нужны потоки в вашем случае. Какая из частей заставляет использовать нитки? Все то, что вы упомянули выше, звучит полностью в главном потоке, используя скрученный API и отложенные. –
Вы не хотите использовать потоки. В вашей программе просто есть ошибка. Реактор не останавливается сам по себе. Пожалуйста, приложите http://sscce.org к проблеме, которую вы испытываете. – Glyph