从未来检索价值时的 SIGABRT

Posted

技术标签:

【中文标题】从未来检索价值时的 SIGABRT【英文标题】:SIGABRT when retrieving value from future 【发布时间】:2011-11-01 14:14:26 【问题描述】:

我在使用 C++11 期货时遇到问题。当我在std::async 返回的未来调用wait()get() 时,程序接收到从mutex 标头抛出的SIGABRT 信号。可能是什么问题呢?如何解决?

我在 Linux 上使用 g++ 4.6。将以下代码粘贴到 ideone.com 会导致同样的问题。

#include <future>
#include <thread>

int calculate() 
    return 1;


int main() 
    auto result = std::async(calculate);
    result.wait();// <-- this aborts
    int value = result.get();// <-- or this aborts as well if previous line is commented out.

    return 0;

【问题讨论】:

不妨看看这个:***.com/questions/4426141/… @Anders K.:这在这里似乎没有任何用处。如果默认启动策略没有崩溃,我会对它感到满意。 【参考方案1】:

问题可以通过在g++中添加-pthread开关解决。

【讨论】:

以上是关于从未来检索价值时的 SIGABRT的主要内容,如果未能解决你的问题,请参考以下文章

从未选中的复选框中获取价值

从未从 FusedLocationProviderApi 检索到任何位置

从未知任务中检索芹菜中“task_id”的结果

Python 3.6 asyncio - 从未检索到任务异常 - 任务的产量不好:200

firebase 在聊天中检索数据时的进度指示器 - Flutter

当我从未检索到的联系人列表地址数据中选择联系人姓名和地址时