1 个不稳定版本
0.1.0 | 2021年12月2日 |
---|
#54 in #worker-thread
3,991 每月下载次数
用于 tokio_env
3KB
tokio-env
tokio运行时便捷设置的配置库。
配置
所有配置均通过环境变量实现。以下为支持的变量:
TOKIO_ENABLE_ALL
是否启用所有类型的线程池。默认为true
。TOKIO_BLOCKING_THREADS
要使用的阻塞线程数量。TOKIO_WORKER_THREADS
要使用的工作线程数量。TOKIO_THREAD_STACK_SIZE
创建的线程的堆栈大小。TOKIO_THREAD_NAME
创建的线程池的名称。
如果未提供环境变量,将回退到tokio的默认值,但 TOKIO_ENABLE_ALL
的默认值除外,它默认为 true
。
因此,空配置展开如下:
tokio::runtime::Builder::new_multi_thread()
.enable_all()
.map(|runtime| runtime.block_on(fun));
使用方法
此库的使用可能如下所示
fn main() {
println!("Initializing tokio runtime...");
let exit_code = tokio_env::start_with(run)
.expect("Failed to start tokio runtime!");
println!("Tokio runtime exited with code: {}", exit_code)
}
async fn run() -> i32 {
println!("Program started!");
// Your async logic here
0
}
但是...为什么?
我厌倦了反复编写相同的样板代码,所以将其简化为一行代码!
依赖项
~1.5MB
~36K SLoC