gpt4 book ai didi

computer-science - 什么是 future ?

转载 作者:行者123 更新时间:2023-12-03 21:23:25 25 4
gpt4 key购买 nike

什么是 future ?这与懒惰评估有关。

最佳答案

有一个Wikipedia article关于 future 。简而言之,这是一种使用未知值的方法。然后可以按需计算该值(懒惰评估),并且可以选择与主计算同时计算。

C++ 示例如下。

假设您要计算两个数字的总和。您可以使用典型的急切实现:

int add(int i, int j) { return i + j; }
// first calculate both Nth_prime results then pass them to add
int sum = add(Nth_prime(4), Nth_prime(2));

或者你可以使用 C++11 的 future 方式 std::async ,返回 std::future .在这种情况下, add函数仅在尝试使用尚未计算的值时才会阻塞(也可以创建一个纯粹的惰性替代方案)。
int add(future<int> i, future<int> j) { return i.get() + j.get(); }
int sum = add(async(launch::async, [](){ return Nth_prime(4); }),
async(launch::async, [](){ return Nth_prime(2); }));

关于computer-science - 什么是 future ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/80447/

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