std::string getData(std::string token)
{
std::string data = "Data :" + token;
return data;
}
int main()
{
// 创建封装回调的packaged_task<函数指针>
std::packaged_task<std::string(std::string)> task(getDataFromDB);
从package_task<>获取相关的future<>
std::future<std::string> result = task.get_future();
//将packaged_task传递给线程以异步运行
std::thread th(std::move(task), "Arg");
// join,阻塞到线程完成时返回
th.join();
// 获取packaged_task<>的结果,即getDataFromDB()的返回值
std::string data = result.get();
std::cout << data << std::endl;
}
C++11 packaged_task,函数指针类型
最新推荐文章于 2024-07-14 10:27:34 发布