- Fix include paths: use #include "Threading/..." instead of <XCEngine/Threading/...> - Document protected ITask constructors (ITask(), ITask(TaskPriority)) - Document Callback typedef in TaskGroup - Clarify Mutex STL-compatible methods are const - Note GetProgress() implementation limitation (returns 0.0f)
39 lines
885 B
Markdown
39 lines
885 B
Markdown
# TaskGroup::GetProgress
|
||
|
||
```cpp
|
||
float GetProgress() const
|
||
```
|
||
|
||
获取任务组的完成进度。
|
||
|
||
**参数:** 无
|
||
|
||
**返回:** `float` - 进度值,范围 0.0f ~ 1.0f
|
||
|
||
**复杂度:** O(1)
|
||
|
||
**注意:** 当前实现中 `m_completedCount` 未被更新,此方法始终返回 0.0f(任务组为空时返回 1.0f)。此为实现限制,文档仅作记录。
|
||
|
||
**示例:**
|
||
|
||
```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) - 检查是否完成
|