2014-03-12 131 views
1

我找的如何使用線程構建模塊task_arenaenqueuewait_until_empty一個例子。如何使用TBB task_arena類排隊和wait_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()方法:

錯誤: '類TBB ::接口7 :: task_arena' 已經我使用的是最沒有名爲 'wait_until_empty'

成員當前版本4.3,更新3.

請提供一個簡單的工作示例。

回答

2

方法wait_until_empty在近期更新中從類task_arena中刪除。不幸的是,您提到的software.intel.com上的文檔尚未更新。我建議使用更新的文檔threadingbuildingblocks.org

在文檔頁面的例子演示瞭如何結合task_arenatask_group以實現類似於wait_until_empty功能。

+0

感謝您的信息。場景是:你有一個簡單的程序開始,使用''enqueue'''排隊許多任務,然後終止。在程序終止之前,如何確保所有任務都已完成? –

+0

如果使用'''enqueue'''來更新文檔,那將會很棒。 –