如何调用async进行异步操作

C++11尺度供给函数async,用于异步启动线程,这可以知足良多的营业场景,是以,本文将连系例子来申明若何挪用async进行异步操作。

东西/原料

  • C++11

方式/步调

  1. 1

    挪用async函数之前,需要添加头文件future

  2. 2

    界说实现如下图所示的线程回调函数,入参是字符串类型,返回值是整型

  3. 3

    挪用std::async,传入回调函数以及回调函数对应的入参值,返回std::future类型对象,该对象用于获取异步线程返回的值

  4. 4

    利用std::futrue的函数wait_for超时期待,按照返回的值来判定线程函数是否已经竣事

  5. 5

    std::futrue供给的函数get,可以获取线程函数返回成果

  6. 6

    调试运行输出的信息如下所示,从信息看合适预期,get获取到线程函数返回的成果值

  7. 7

    可以采用如下的体例来轮回获取异步线程执行的成果,若是返回timeout暗示超时,若是返回ready暗示使命完当作,若是返回deferred暗示还没启动线程

  8. 8

    运行成果如下,轮回查询过程中,呈现一次timeout,表白线程函数还没有执行完毕

注重事项

  • 喜好经验接待点赞投票!
  • 经验由 YWMLI1 原创,首发百度经验,转载请注明出处!
  • 发表于 2019-07-03 17:03
  • 阅读 ( 737 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具