48 lines
918 B
Markdown
48 lines
918 B
Markdown
# TaskGroup::Wait
|
|
|
|
```cpp
|
|
void Wait();
|
|
```
|
|
|
|
阻塞当前线程,直到任务组中的所有任务完成执行。
|
|
|
|
**参数:** 无
|
|
|
|
**返回:** 无
|
|
|
|
**线程安全:** ✅ 线程安全
|
|
|
|
**示例:**
|
|
|
|
```cpp
|
|
#include "XCEngine/Threading/TaskGroup.h"
|
|
#include "XCEngine/Threading/Task.h"
|
|
#include <iostream>
|
|
#include <chrono>
|
|
|
|
using namespace XCEngine::Threading;
|
|
|
|
int main() {
|
|
TaskGroup group;
|
|
|
|
for (int i = 0; i < 5; ++i) {
|
|
group.AddTask([i]() {
|
|
std::cout << "Task " << i << " started\n";
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
std::cout << "Task " << i << " finished\n";
|
|
});
|
|
}
|
|
|
|
std::cout << "Waiting for all tasks...\n";
|
|
group.Wait();
|
|
std::cout << "All tasks completed!\n";
|
|
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [TaskGroup 总览](task-group.md) - 返回类总览
|
|
- [WaitFor](wait-for.md) - 带超时的等待
|