gpt4 book ai didi

c++ - 如何为返回异步结果的函数指定函数签名?

转载 作者:行者123 更新时间:2023-11-28 02:14:19 28 4
gpt4 key购买 nike

我有一个函数可以做到这一点:

??? createThread(int x) {
return async(std::launch::async,
[x] () { // do stuff with x });
}

我正在使用 VS 2012(部分 C++11)。返回类型应该是什么才能进行编译?

最佳答案

您的函数返回 std::future<void> : 异步函数调用的 future 结果。

但是,返回从 std::async 的调用返回的 future 是非常糟糕的做法与 std::launch::async政策,因为 future 的析构函数可能会阻塞,标准库的用户通常不希望标准库析构函数阻塞。比照。 [ future .异步]/4:

[Note: If a future obtained from std::async is moved outside the local scope, other code that uses the future must be aware that the future’s destructor may block for the shared state to become ready. — end note]

关于c++ - 如何为返回异步结果的函数指定函数签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500067/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com