C++ 11 future_status::deferred 不起作用

2023-11-27

#include <iostream>
#include <future>
#include <chrono>

using namespace std;
using namespace std::chrono;

int sampleFunction(int a)
{
    return a;
}

int main()
{
   future<int> f1=async(launch::deferred,sampleFunction,10);
   future_status statusF1=f1.wait_for(seconds(10));
   if(statusF1==future_status::ready)
        cout<<"Future is ready"<<endl;
   else if (statusF1==future_status::timeout)
        cout<<"Timeout occurred"<<endl;
   else if (statusF1==future_status::deferred)
        cout<<"Task is deferred"<<endl;
   cout<<"Value : "<<f1.get()<<endl;
}

Output -
Timeout occurred
Value : 10

在上面的例子中,我期待future_status to be deferred代替timeout. sampleFunction已推出为launch::deferred。因此它不会被执行,直到f1.get()已被调用。在这样的情况下wait_for应该已经回来了future_status::deferred并不是future_status::timeout.

如果有人能帮助我理解这一点,我将不胜感激。 我在 fedora 17 上使用 g++ 版本 4.7.0。


GCC 和 GNU STL 不支持完整的 C++ 11。

在这里您可以查看 GCC 和 GNU STL 中的 C++ 11 实现状态:

http://gcc.gnu.org/projects/cxx0x.html

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html

另外,请阅读此讨论主题:http://blog.gmane.org/gmane.comp.gcc.bugs/month=20120201

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 11 future_status::deferred 不起作用 的相关文章

随机推荐

  • C++有序(稳定)优先级队列

    我正在实现一个玩具调度程序 它读取进程规范的输入文件 例如到达时间 总运行时间 然后根据随机 io cpu 突发来调度进程 该文件的格式为 到达时间 CPU 总时间 CPU 突发 IO 突发 现在 当有两个进程具有相同的到达时间时 调度程序
  • 活动别名的启动意图

    我为具有不同元数据的活动设置了一些别名 在此元数据中 我设置了片段的名称 然后通过反射加载该片段 我不知道这是否是一个 干净 的解决方案 尽管通过使用片段并将功能放入其中 我有一个 SuperActivity 和 2 个空子活动 只是为了在
  • AJAX 上的 301 重定向——重定向?

    我对服务器端点进行 AJAX 调用 该端点执行 301 重定向到同一页面 但末尾带有斜杠 当使用 AJAX 调用时 浏览器是否遵循重定向 或者是否忽略它们 就我而言 它不遵循它们 但我认为这可能是服务器配置中的某些内容 如果您使用 jque
  • 带类的词典?

    在Python中可以通过字典实例化一个类吗 shapes 1 Square 2 Circle 3 Triangle x shapes raw input 我想让用户从菜单中进行选择 而不是在输入上编写大量的 if else 语句 例如 如果
  • 在 Eclipse 中,如何多次运行 JUnit 测试用例

    我有一个单元测试有时会失败 调试它很痛苦 因为我不知道为什么它有时会失败 有没有办法在 Eclipse 中运行 JUnit 测试 5 次或 50 次之类的 Thanks 我刚刚找到了以下解决方案 它不需要任何额外的依赖项 您得到的答案之一需
  • 使用 jQuery fadeIn 或 CSS3 动画哪个更好?

    我正在使用一些 PHP 和 JavaScript 创建一个简单的画廊 并尝试在图像之间进行淡入淡出过渡 然后我想知道使用 CSS 动画是否存在性能差异 例如 webkit keyframes fadeIn 0 opacity 0 100 o
  • 将 Word DOCX 文件保存为 PDF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在使用 openxml 创建 Word DOCX 文件 我想在将这些文档创建为 PDF 文件后将其保存 有没有办法在 openxml 中做到这一
  • Handpose tfjs 错误 - 在注册表中找不到后端

    当尝试运行 Handpose tfjs 的演示项目时 我收到以下错误 我的 package json 文件具有以下依赖项 name tensorflowJs version 1 0 0 description main index js s
  • Laravel 5.3 auth 检查构造函数返回 false

    我在用着Laravel 5 3我正在努力得到经过验证的 user s id in the constructor方法 这样我就可以按分配的公司过滤用户 如下所示 namespace App Http Controllers use Illu
  • Android Room - 通过自动生成获取新插入行的 id

    这就是我使用 Room Persistence Library 将数据插入数据库的方式 Entity Entity class User PrimaryKey autoGenerate true public int id 数据访问对象 D
  • 在 Javascript 中将 yyyy-mm-dd 转换为 UTC

    我需要仅使用 javascript 将 yyyy mm dd 中的日期 如 2011 12 30 转换为 UTC 如何 var utc new Date 2011 12 30 toUTCString jsFiddle
  • sed/awk - 在跨多行的模式之间打印文本

    我是脚本编写新手 正在尝试学习如何提取两种不同模式之间存在的任何文本 但是 我仍然无法弄清楚如何在以下场景中提取两种模式之间的文本 如果我有我的输入文件阅读 Hi I would like to print text between the
  • node-postgres如何转义参数?

    我知道关于参数化查询 但由于我必须以编程方式构造哪里条件 计算参数的数量并构建参数数组是一项比简单地调用escape需要时发挥作用 所以 node postgres 中有参数转义函数吗 Yes since this PR there are
  • 如何使用 cin 读取 double 的整个值?

    long double m cout lt lt enter double cin gt gt m cout lt lt m lt lt m lt
  • 如何将日期转换为月份数?

    我有一个专栏Month在我的桌子上 月份名称和日期存储在本月列中 例如 Month 01 JAN 12 02 FEB 12 等等 我如何convert the DATE转换为月份数字 例如 Month 1 2 etc select to c
  • “shouldOverrideUrlLoading”真的被弃用了吗?我可以用什么来代替?

    shouldOverrideUrlLoading 真的被弃用了吗 如果是这样 我可以用什么来代替 这好像是shouldOverrideUrlLoading已弃用针对 Android N我需要让一个应用程序从 API 19 开始工作 直到现在
  • 如何在 Android 浏览器中启用安全搜索

    要求 我的浏览器要求在浏览时启用 禁用安全搜索 On Google 安全搜索页面 使用安全搜索阻止 Google 上的露骨搜索结果 您可以过滤 Google 上的露骨搜索结果 例如色情内容 使用安全搜索设置 安全搜索并非 100 准确 但它
  • 如何使用 adb shell 移动文件?

    如何使用 adb shell 移动文件 例如我想将 SystemUI apk 从 system 移动到 system app 我没有找到任何使用 adb shell 在系统分区内移动文件的命令 有谁知道该怎么做 Does mv不行 mv s
  • 在析构函数中正确使用 std::uncaught_exception

    有一些文章的结论是 永远不要从析构函数抛出异常 和 std uncaught exception 没有用 例如 http www gotw ca gotw 047 htm 赫伯 萨特撰写 但我似乎没有明白这一点 所以我写了一个小的测试示例
  • C++ 11 future_status::deferred 不起作用

    include