我是靠谱客的博主 激昂柠檬,最近开发中收集的这篇文章主要介绍std::future与std::async,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

std::future是一个类模板(class template),其对象存储未来的值,一个std::future对象在内部存储一个将来会被赋值的值,并提供了一个访问该值的机制,通过get()成员函数实现。但如果有人视图在get()函数可用之前通过它来访问相关的值,那么get()函数将会阻塞,直到该值可用。
或者通过future对象的wait方法来获得

std::async(函数,参数)
异步运行一个函数,并且立即返回一个std::future对象。
std::async异步执行函数有三种策略。

  • 立即开启一个线程运行此函数,返回std::future对象
  • 延迟启动,在调用std::async()时不创建线程,直到调用了future对象的get()或wait()方法时,才创建线程;
  • 自动,函数在某一时刻自动选择策略,这取决于系统和库的实现,通常是优化系统中当前并发的可用性

最后

以上就是激昂柠檬为你收集整理的std::future与std::async的全部内容,希望文章能够帮你解决std::future与std::async所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部