Допустим, у меня есть Poco::Thread: Thread Parent имеет внутри себя метод обработчика событий.
Затем родитель порождает два дочерних потока, которым даются события, на которые родитель подписывает обработчик событий.
Итак, два события оба имеют один и тот же обработчик событий.
Если дочерний элемент A инициирует свое событие, а родительский начинает его выполнять, что произойдет, если дочерний элемент B инициирует свое событие до того, как родитель завершит работу?
Эти запросы ставятся в очередь автоматически или я должен заблокировать все сам?
Как обрабатываются события Poco C++?
Ответы (1)
Делегаты событий вызываются в потоке вызывающего объекта (если только вы не используете notifyAsync()), поэтому в случае нескольких потоков, запускающих одно и то же событие, вам придется самостоятельно позаботиться о синхронизации в обработчиках событий.
person
Günter Obiltschnig
schedule
24.07.2010