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