是否需要std::launch::async策略
Is std::launch::async policy needed?
以下内容的区别是什么:
std::async(my_function);
和
std::async(std::launch::async, my_function);
在这种情况下,使用pilicystd::launch::async有什么区别??第一个选项不是异步启动函数吗??
第一个相当于传递launch::async | launch::deferred
,在这种情况下,它是异步启动还是仅延迟启动取决于实现(当在返回的future上调用像get()
这样的非定时等待函数时调用)。
其想法是,默认情况下,如果创建新线程不会提高性能,则实现可以选择推迟。若要强制创建新线程,请仅传递launch::async
。
相关文章:
- C++17中的并行执行策略
- 运行时执行策略不同
- 编译器上的策略数据结构不起作用
- 我应该在简单的策略游戏中为各个派系使用类吗 - C++
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 没有执行策略的 std::transform_reduce 是可移植的吗?
- C++ 运算符修改/元编程策略,用于不那么冗长的语法
- 使用 Qt5 SQL 进行异步数据库访问的策略
- C++基于策略的设计:继承与组合
- 当PSO细粒度策略对使用AdsGetObject MSDN API的Windows操作系统生效时,如何获取用户密码到期日
- 如何在源代码中使用执行策略检测 C++17 的扩展内存管理算法的可用性?
- 如何实例化基于输入的策略模式
- 使用策略模式设计软件时出现的问题
- 在发送源代码时省略未使用的boost src文件的策略
- 使用 redis 进行日志缓存:是否可以创建逐出到 PostgreSQL 的逐出策略?
- CMAKE:前导或尾随空格(策略CMP0004)
- 是否需要std::launch::async策略
- std::async不使用std::launch::async策略启动新线程
- std::async与std::launch::async策略的行为
- 默认启动策略和std::launch::deferred之间的区别