Как обрабатываются события Poco C++?

Допустим, у меня есть Poco::Thread: Thread Parent имеет внутри себя метод обработчика событий.
Затем родитель порождает два дочерних потока, которым даются события, на которые родитель подписывает обработчик событий.
Итак, два события оба имеют один и тот же обработчик событий.
Если дочерний элемент A инициирует свое событие, а родительский начинает его выполнять, что произойдет, если дочерний элемент B инициирует свое событие до того, как родитель завершит работу?
Эти запросы ставятся в очередь автоматически или я должен заблокировать все сам?


person James    schedule 20.07.2010    source источник


Ответы (1)


Делегаты событий вызываются в потоке вызывающего объекта (если только вы не используете notifyAsync()), поэтому в случае нескольких потоков, запускающих одно и то же событие, вам придется самостоятельно позаботиться о синхронизации в обработчиках событий.

person Günter Obiltschnig    schedule 24.07.2010