60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
|
|
# TaskPriority
|
||
|
|
|
||
|
|
**命名空间**: `XCEngine::Threading`
|
||
|
|
|
||
|
|
**类型**: `enum class`
|
||
|
|
|
||
|
|
**头文件**: `XCEngine/Threading/Task.h`
|
||
|
|
|
||
|
|
## 概述
|
||
|
|
|
||
|
|
`TaskPriority` 定义了任务的优先级,用于控制任务在任务系统中的执行顺序。优先级较高的任务会在优先级较低的任务之前执行。
|
||
|
|
|
||
|
|
## 枚举值
|
||
|
|
|
||
|
|
| 枚举值 | 数值 | 描述 |
|
||
|
|
|--------|------|------|
|
||
|
|
| `Critical` | 0 | 最高优先级,关键任务 |
|
||
|
|
| `High` | 1 | 高优先级 |
|
||
|
|
| `Normal` | 2 | 普通优先级(默认) |
|
||
|
|
| `Low` | 3 | 低优先级 |
|
||
|
|
| `Idle` | 4 | 最低优先级,仅在无其他任务时执行 |
|
||
|
|
|
||
|
|
## 使用示例
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
#include "XCEngine/Threading/TaskGroup.h"
|
||
|
|
#include "XCEngine/Threading/Task.h"
|
||
|
|
#include <iostream>
|
||
|
|
|
||
|
|
using namespace XCEngine::Threading;
|
||
|
|
|
||
|
|
int main() {
|
||
|
|
TaskGroup group;
|
||
|
|
|
||
|
|
group.AddTask([]() {
|
||
|
|
std::cout << "Critical task\n";
|
||
|
|
}, TaskPriority::Critical);
|
||
|
|
|
||
|
|
group.AddTask([]() {
|
||
|
|
std::cout << "High priority task\n";
|
||
|
|
}, TaskPriority::High);
|
||
|
|
|
||
|
|
group.AddTask([]() {
|
||
|
|
std::cout << "Normal task\n";
|
||
|
|
}, TaskPriority::Normal);
|
||
|
|
|
||
|
|
group.AddTask([]() {
|
||
|
|
std::cout << "Low priority task\n";
|
||
|
|
}, TaskPriority::Low);
|
||
|
|
|
||
|
|
group.Wait();
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [TaskGroup 总览](task-group.md) - 任务组类总览
|
||
|
|
- [ITask](../task/task.md) - 任务接口基类
|