2010-07-20 77 views
0

可以说我有一个Poco :: Thread: Thread父类有一个eventhandler方法。
然后,父代会生成两个子线程,这两个子线程都是给父事件处理者订阅的事件。
因此,两个事件都附加了相同的事件处理程序。
如果Child A触发了他们的事件,并且Parent开始执行它,如果Child B在Parent完成之前触发了他们的事件会发生什么?
这些请求是否自动排队,还是我必须自己锁定所有内容?Poco C++事件是如何处理的?

回答

3

事件委托在调用者的线程中调用(除非您使用notifyAsync()),因此在多线程触发同一事件的情况下,您必须自己处理事件处理程序中的同步。