gpt4 book ai didi

c++ - PPL 任务中 .then 构造的目的是什么?

转载 作者:太空狗 更新时间:2023-10-29 23:33:31 24 4
gpt4 key购买 nike

我很感兴趣在 PPL 中构建 .then 的目的是什么,我可以在哪里测试它?似乎 Visual Studio 2012 还不支持它(可能是 future 的 CTP?)。它在标准 C++11 异步库中有等效项吗?

最佳答案

目的是让您能够表达必须按顺序执行的异步任务。

例如,假设我在一个 GUI 应用程序中。当用户按下一个按钮时,我想启动一个异步任务来在线检索一个文件,然后处理它以检索某种数据,然后使用这些数据来更新 GUI。发生这种情况时,还有大量其他任务在进行,主要是为了保持 GUI 响应。

这可以通过使用调用回调的回调来完成。与 lambda 关联的 .then() 功能允许您在实例化它的地方编写所有回调内容(如果需要,您仍然可以使用单独的回调)。它还不能保证每个单独任务的工作将由同一个线程完成,如果初始线程已经有太多工作要做,则空闲线程有可能窃取任务。

.then() 函数在 C++11 中不存在,但建议将其添加到 std::future 类(基本上是任务或任务结果的句柄)。

关于c++ - PPL 任务中 .then 构造的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218659/

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