一个Reactor调度定时器的问题
对于reactor在调度定时器时,我有一个困惑,如果schedule_timer执行在ACE_Reactor::run_event_loop的同一个线程中时,handle_timeout会起作用。如果如果schedule_timer和ACE_Reactor::run_event_loop执行在不同线程中时,handle_timeout不会被调度。
大家可以测试一下。为什么呢? 设置了线程的owner没有?
owner(ACE_OS::thr_self()); 加了这个就没问题了。谢谢。
在采用线程编程中,一定要注意线程的所归属性,在ACE里面这个特别重要。
页:
[1]