如何使用TBB task_arena类与enqueue和wait_until_empty

How to use the TBB task_arena class with enqueue and wait_until_empty

本文关键字:wait until empty enqueue arena 何使用 TBB task 类与      更新时间:2023-10-16

我正在寻找如何使用线程构建块 task_arena类与enqueuewait_until_empty的例子。

这是我所遵循的过程。如上面的文档所述,添加以下内容:

#define TBB_PREVIEW_TASK_ARENA 1
#include "tbb/task.h"
#include “tbb/task_arena.h”

然后用tbb::task::allocate_root创建任务,用tbb::arena::enqueue排队。

然而,我在竞技场wait_until_empty()方法上收到这个错误:

错误:' class tbb::interface7::task_arena '没有名为' wait_until_empty '的成员'

我使用的是最新版本4.3,更新3。

请提供一个简单的工作示例

方法wait_until_empty在最近的更新中从task_arena类中删除。不幸的是,您所引用的software.intel.com上的文档尚未更新。我建议使用threadingbuildingblocks.org的文档,它是最新的。

文档页中的示例演示了如何组合task_arenatask_group来实现与wait_until_empty类似的功能。