当前位置: 首页 > news >正文

足球网站建设意义大连金州

足球网站建设意义,大连金州,宁波网站建设公司哪家好,网页设计怎么把图片上移概念简介 packaged_task 用于包装可调用目标(Callable)为一个对象,如lambda,普通函数,小括号重载等,用于异步调用。 其返回值或所抛异常被存储于能通过 std::future 对象访问的共享状态中,和promise类似。 将函数的调用与函数返…

概念简介

packaged_task 用于包装可调用目标(Callable)为一个对象,如lambda,普通函数,小括号重载等,用于异步调用
其返回值或所抛异常被存储于能通过 std::future 对象访问的共享状态中,和promise类似。

将函数的调用与函数返回值的获取分开调用,这样就给异步提供很大的便利。

猛的一看好像和std::bind绑定器作用相似,可惜std::bind返回的对象是同步的。

示例:函数在子线程执行,返回值可以在主线程异步获取

std::string Func()
{std::cout << "Thread t Call Func"<< std::endl;std::this_thread::sleep_for(std::chrono::seconds(2));return "Return Thread t Func Result";
}int main()
{//将全局函数Func打包成异步调用对象std::packaged_task<std::string()> task(Func);//task调用后的结果将保存在result中//result的类型是std::future<std::string> ,即函数返回值的类型auto result = task.get_future();//线程t执行异步任务std::thread t (std::move(task));//主线程获取异步任务的返回值auto value = result.get();//打印结果std::cout << "Main Thread Get Return value = " << value << std::endl;t.join();return 0;
}

执行结果:

Thread t Call Func
Main Thread Get Return value = Return Thread t Func Result

补充:

有一些任务执行可能比较耗时,我们可以使用其提供的带时间的结果获取

  • std::future_status::timeout 异步任务已经完成并返回结果。此时可以通过调用std::future::get()来获取异步任务的返回值;
  • std::future_status::ready 等待异步任务超时。此时可以选择等待更长时间再尝试获取结果,或者取消任务;
  • std::future_status::deferred 异步任务被推迟执行。此时可以暂时不获取结果,等待后续需要时再执行异步任务,或者放弃执行异步任务。利用std::future::deferred策略将异步任务推迟到std::future::get()方法调用时才执行,从而实现惰性求值。这种方式下,异步任务的执行被推迟,直到调用std::future::get()方法时再执行。返回该状态意味着异步任务还未执行,并且只有调用std::future::get()时才会执行。
    if(result.wait_for(std::chrono::milliseconds(100)) == std::future_status::timeout){//可以继续等待}if(result.wait_for(std::chrono::milliseconds(100)) == std::future_status::ready){//调用get()获取}if(result.wait_for(std::chrono::milliseconds(100)) == std::future_status::deferred){//调用get()获取}
http://www.yayakq.cn/news/159691/

相关文章:

  • 厦门网站建设seo有自己的网站如何做淘宝客
  • 精湛的赣州网站建设做网站需要的执照
  • 游戏网站建设策划方案模板汽车网站建设的基本功能
  • 中国廉政建设网网站wap娃派手机信息网
  • 青岛网站建设选圣城怀化seo公司
  • 模板网站优网站建设合同2018
  • 网站名称与备案名称不一致邯山专业做网站
  • 花店网站建设构思铁西网络建设
  • 手机网站按那个尺寸做江苏企业seo推广
  • 自己做的网站访问不了建网站做优化
  • 门户网站建设 增强责任意识国内广告公司排行
  • 在招聘网站做电话销售怎么样win10优化大师
  • 四川住房和城乡建设厅网站三类人员云南网站设计平台
  • 西安网站到首页排名营销推广网站
  • 高端网站建设jm3q深圳工程建设服务网
  • seo优化网站推广专员招聘修改wordpress密码
  • 深圳外贸网站开发建设html5 jsp做网站可以么
  • 云南网站定制网站商城建设的维度
  • 公司的帐如何做网站jsp网站开发四酷全书
  • 网站建设开题报告ppt模板免费的制作手机网站平台
  • 泰州网站模板网站建设 就业方向
  • 网站建设可视化diy网站建设系统源码
  • 手机网站翻页底时自动链接网络技术公司
  • 恩施哪里有做网站的石家庄新闻综合频道回看今天
  • 网站正在建设中亚洲移动互联网终端设备的主要技术指标是什么
  • 百度网站网址是多少简易微网站模板
  • 大良营销网站建设流程资源网站怎样做
  • 做网站设计需求杨小刀网站建设
  • 北京中兴时代网站建设东莞现代建设有限公司
  • 云南网站营销电子商务网站建设 大纲