我想有类似的东西,tbb::task_group
但在订单执行方面有保证,例如
serial_task_group tasks;
tasks.run([]{std::cout << 1;});
tasks.run([]{std::cout << 2;});
tasks.run([]{std::cout << 3;});
tasks.wait();
// guaranteed output: 123
关于如何使用 tbb 实现这一目标的任何建议?
目前我有一个显式线程,它只使用条件变量从队列中执行。但是,使用队列的问题是我将如何保证在 task_group 中只有一个任务处于活动状态。