单例任务 (Singleton Task)
描述
本项目实现了一个基于 Rust 的异步任务管理系统,主要功能包括任务状态管理、任务通信以及任务调度。核心特性如下:
- 单例任务管理:通过
SingletonTask结构体,确保一个任务在整个系统中只有一个实例运行。 - 任务状态跟踪:任务的状态变化可通过
Context进行跟踪和控制。 - 异步支持:使用
async_trait和Future实现异步任务处理。 - 跨线程通信:通过自定义的
task_channel实现任务间的同步和异步通信。
安装与使用
构建项目
确保你已安装 Rust 工具链,然后运行以下命令:
运行示例
进入项目目录并运行示例代码:
项目结构
src/lib.rs:定义主要的 trait 和结构体,包括Task,TaskBuilder,SingletonTask等。src/context.rs:实现任务上下文管理,支持状态变更和异步等待。src/task_chan.rs:提供任务间通信的通道机制。examples/task.rs:展示如何使用单例任务系统。tests/test.rs:包含异步任务控制逻辑的测试用例。
测试
运行所有测试:
运行多线程测试:
贡献
欢迎贡献代码!请确保提交 PR 前运行下列检查:
# 格式化代码
# 运行 Clippy 检查
# 运行测试
许可证
本项目采用 MulanPSL-2.0 许可证 - 详见 LICENSE 文件。