boost 1.44 一句简单的语句:
std::cout <<boost::this_thread::get_id()<< std::endl;
就打印当前线程的ID,结构编译不过,错误。换了1.46,好了。
ACE 5.8关于使用
ACE_Reactor::instance()->schedule_timer(this,NULL,tv,tv);
//返回结果也是正确的。便死活不触发下面这个回调
int handle_timeout( const ACE_Time_Value ¤t_time, const void *act /*= 0*/ )
结果换上ACE6.0,好了。众所周知,ACE5.6版本的BUG超多,而且本人经过测试,ACE_Reactor()::instance()->run_event_loop();这个东西,居然在windows 平台,跟linux平台下的行为不一样。在WIN平台,一切正常,去到linux平台,ubuntu 10.10, 2.6内核,忘记是在主线程还是子线程了,一运行,就马上返回了。结果需要用
while(true)
{
ACE_Reactor::instance()->handle_events();
}
才能搞定。