2个版本
| 0.1.1 | 2024年7月4日 |
|---|---|
| 0.1.0 | 2024年7月4日 |
#842 in 异步
每月 34 次下载
28KB
532 行
egui_task_manager
灵活管理异步任务的方法。
示例
请参阅 examples/counter。
lib.rs:
提供管理异步任务的方法。
请参阅 examples/counter 获取更多信息。
TaskManager
TaskManager 是必须在您的应用程序状态中保存的核心类型。调用 TaskManager::add_collection 来注册一个新的集合。然后,当您想要添加新任务时,调用 TaskManager::push_task。
TasksCollection 和 CollectionData
TasksCollection 可以实现一个类型,然后这个类型可以用作几个方法的类型参数。
CollectionData 是一个实现了 TasksCollection 的“动态”版本,尽管并不完全。它持有集合的名称和执行器,并且除了这些之外,还持有当前正在运行的任务和接收任务产生的数据的通道。
Task 和 Caller
Task具有名称和Caller。 Caller可以是Standard或Progressing。
Caller::standard期望一个future。
Caller::progressing期望一个带有类型TaskProgressShared的闭包。此类型提供了进度跟踪功能以及如TaskProgressShared::set_total和TaskProgressShared::update等函数。这些函数允许您跟踪进度。
有关进度的更多信息,请参阅TaskProgressShared。
TaskExecutor
确定任务执行的特质。
依赖关系
~6–13MB
~128K SLoC