主线程中执行doInMainThread()的boost线程中的以下命令应如何在没有c ++ 11的情况下(使用boost的bind函数)?
//c++11 version, how should I write this without c++11?
io.post([=] { doInMainThread(); });
答案 0 :(得分:1)
您可以发布符合Completion Handler type requirements的任何内容。您可以使用boost::function
boost::asio::io_service io_service;
io_service.post( boost::bind(&doInMainThread) );
或者如果您不想使用boost::bind
,函数指针应该可以正常工作
io_service.post( &doInMainThread );
假设doInMainThread()
符合完成处理程序类型要求。