41 lines
908 B
Markdown
41 lines
908 B
Markdown
|
|
# TaskGroup::GetProgress
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
float GetProgress() const
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**注意:** 此方法当前为**空实现/桩代码**。
|
|||
|
|
|
|||
|
|
获取任务组的完成进度。
|
|||
|
|
|
|||
|
|
**参数:** 无
|
|||
|
|
|
|||
|
|
**返回:** `float` - 始终返回 `0.0f`(任务组为空时返回 `1.0f`)
|
|||
|
|
|
|||
|
|
**复杂度:** O(1)
|
|||
|
|
|
|||
|
|
**当前状态:** 此方法为空实现,始终返回 `0.0f`,因为 `m_completedCount` 未被更新。
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < 1000; ++i) {
|
|||
|
|
group->AddTask([i]() { ProcessItem(i); });
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 显示进度(注意:当前实现始终返回 0.0f)
|
|||
|
|
while (!group->IsComplete()) {
|
|||
|
|
float progress = group->GetProgress();
|
|||
|
|
printf("\rProgress: %.1f%%", progress * 100.0f);
|
|||
|
|
Thread::Sleep(100);
|
|||
|
|
}
|
|||
|
|
printf("\n");
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [TaskGroup 总览](task-group.md) - 返回类总览
|
|||
|
|
- [IsComplete](iscomplete.md) - 检查是否完成
|