2 个不稳定版本
0.2.0 | 2023年4月2日 |
---|---|
0.1.0 | 2023年3月29日 |
#1413 in 异步
15KB
138 行
ThreadRunner
ThreadRunner 是一个用于并发执行任务的 Rust 库。
它目前包含以下内容
-
ThreadPool: 使用线程池来处理昂贵的计算。
-
AsyncRuntime: 无缝地将异步代码集成到您的同步代码中。
安装
您可以通过将以下内容添加到您的 Cargo.toml
文件中的依赖项部分来在项目中使用 thread_runner
thread_runner= "0.2.0"
[dependencies]
thread_runner = "0.2.0"
或者,您可以在项目目录中运行以下命令
cargo add thread_runner
这将添加 "thread_runner" 的最新版本到您的 Cargo.toml 文件中
使用方法
此软件包包含模块、结构体和函数级别的文档,以帮助您了解如何使用它中的各种功能及其用法
示例 1
use thread_runner::ThreadPool;
let executor = ThreadPool::new(4);
for val in 0..10 {
executor.execute(move || println!("{}", val));
}
executor.join();
示例 2
use thread_runner::{AsyncRuntime, AsyncFlavor};
use std::time::Duration;
let rt = AsyncRuntime::new(AsyncFlavor::CurrentThread);
// Spawn a future on the runtime.
rt.execute(async {
// Do some asynchronous work here...
});
// Poll a future on the runtime and block until it completes.
let result = rt.poll(async {
// Do some asynchronous work here and return a value...
42
});
// Shut down the runtime after a specified timeout duration.
rt.terminate(Duration::from_secs(1));
贡献
所有贡献和建议都受欢迎。以下是一些您可以贡献的方式
-
问题:通过创建问题来报告错误或提出改进建议。
-
拉取请求:通过创建拉取请求来提出对代码库的更改。
-
文档:为帮助用户了解如何使用软件做出贡献。
-
测试:测试软件并报告您发现的任何错误或问题。
所有贡献,无论大小,都是宝贵的,并且受到赞赏。感谢您对为该项目做出贡献的兴趣!
许可证
本项目受 MIT 许可证许可 - 请参阅 LICENSE 文件以获取详细信息。
依赖项
~2-3MB
~47K SLoC