Можно ли ждать событий Windows (WaitForMultipleObjects) в активном объекте QP (Quantum Platform)?

в моем текущем коде я жду, когда произойдет какое-то событие, используя что-то вроде

WaitForMultipleObjects(2,pEvents,false,1000);

в отдельной ветке и публиковать вещи на State Machine всякий раз, когда я получаю события, достойные публикации. Я портирую это поведение в QP, где, насколько я понимаю, каждый активный объект является собственным потоком. Могу ли я просто сделать это в бесконечном цикле (с некоторым условием прерывания) в активном объекте?

Как я понимаю, QP также ожидает события Windows под капотом, есть ли хитрость, чтобы получить дескриптор события Windows, представляющего мою текущую очередь активных объектов, и дождаться его, чтобы мой поток (активный объект) блокировался на мои (не QP) события И событие активируется, если какой-то другой объект отправляет в мою очередь?

0

Решение

На случай, если кому-то интересно, я нашел именно то, что искал. Член m_osObject QActive является дескриптором события, ожидаемого, когда входная очередь пуста.

Обратите внимание, что я проверял это только на порте Windows QP, и, насколько мне известно, он не работает с любым другим портом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]