peakzhang 发表于 2007-12-26 22:26:05

一个Reactor调度定时器的问题

对于reactor在调度定时器时,我有一个困惑,如果schedule_timer执行在ACE_Reactor::run_event_loop的同一个线程中时,handle_timeout会起作用。
如果如果schedule_timer和ACE_Reactor::run_event_loop执行在不同线程中时,handle_timeout不会被调度。
大家可以测试一下。为什么呢?

peakzhang 发表于 2007-12-26 22:26:11

设置了线程的owner没有?
owner(ACE_OS::thr_self());

peakzhang 发表于 2007-12-26 22:26:27

加了这个就没问题了。谢谢。
在采用线程编程中,一定要注意线程的所归属性,在ACE里面这个特别重要。
页: [1]
查看完整版本: 一个Reactor调度定时器的问题