加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – std :: async – std :: launch :: async |的std ::推出::

发布时间:2020-12-16 03:37:27 所属栏目:百科 来源:网络整理
导读:我理解std :: async对以下参数的作用. std :: launch :: async std :: launch :: deferred 然而,std :: launch :: async |会发生什么的std ::推出::推迟? 解决方法 std :: launch :: async |的启动策略std :: launch :: deferred意味着实现可以选择是否应用
我理解std :: async对以下参数的作用.

> std :: launch :: async
> std :: launch :: deferred

然而,std :: launch :: async |会发生什么的std ::推出::推迟?

解决方法

std :: launch :: async |的启动策略std :: launch :: deferred意味着实现可以选择是否应用std :: launch :: async或std :: launch :: deferred的策略.此选择可能因电话而异,可能不会立即决定.

总是选择一个或另一个的实现因此是合法的(这是gcc所做的,总是选择延迟),就像选择std :: launch :: async直到达到某个限制,然后切换到std :: launch ::推迟.

这也意味着实现可以将选择推迟到以后.这意味着实现可能会等待做出决定,直到通过具有与延迟和异步任务明显不同影响的调用强制执行,或者直到运行任务的数量小于内部任务限制.这就是just::thread所做的.

强制做出决定的函数有:wait(),get(),wait_for(),wait_until(),以及引用结果的最后一个对象的析构函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读