专栏文章
决赛答案
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqlaeos
- 此快照首次捕获于
- 2025/12/04 06:39 3 个月前
- 此快照最后确认于
- 2025/12/04 06:39 3 个月前
CPP
#include <iostream>
#include <string>
#include <vector>
// 任务状态枚举
enum class TaskStatus {
WAITING,
RUNNING,
COMPLETED
};
// 任务基类
class Task {
public:
Task(int id, int priority) : taskId(id), taskPriority(priority), taskStatus(TaskStatus::WAITING) {}
virtual ~Task() {}
int getTaskId() const { return taskId; }
int getTaskPriority() const { return taskPriority; }
TaskStatus getTaskStatus() const { return taskStatus; }
virtual void execute() = 0;
void setTaskStatus(TaskStatus status) { taskStatus = status; }
private:
int taskId;
int taskPriority;
TaskStatus taskStatus;
};
// 计算密集型任务类
class ComputeIntensiveTask : public Task {
public:
ComputeIntensiveTask(int id, int priority) : Task(id, priority) {}
void execute() override {
// 这里可以添加大规模矩阵运算等计算密集型操作
std::cout << "ComputeIntensiveTask " << getTaskId() << " is running." << std::endl;
setTaskStatus(TaskStatus::COMPLETED);
}
};
// I/O密集型任务类
class IOIntensiveTask : public Task {
public:
IOIntensiveTask(int id, int priority, std::string resource) : Task(id, priority), resourcePath(resource) {}
void execute() override {
// 这里可以添加文件读取或网络请求等I/O密集型操作
std::cout << "IOIntensiveTask " << getTaskId() << " is running on " << resourcePath << std::endl;
setTaskStatus(TaskStatus::COMPLETED);
}
private:
std::string resourcePath;
};
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...