如何将 Tokio 线程池限制为一定数量的本机线程?

How do I limit the Tokio threadpool to a certain number of native threads?

将 Tokio (v 0.1.11) 线程池限制为 n OS 本机线程的正确方法是什么,其中 n 是任意数字,最好在运行时配置?

据我所知,可以使用 tokio_current_thread::block_on_all 而不是 tokio::runtokio_current_thread::spawn 而不是 tokio::spawn 在单线程模式下使用 Tokio。

我想要一个类似的解决方案,但 n >= 1

您可以使用 tokio::runtime::Builder. The builder offers a core_threads() 方法构建 Tokio Runtime 对象,该方法可用于配置线程数,例如

let mut rt = runtime::Builder::new()
    .core_threads(4)
    .build()
    .unwrap();

然后您可以使用 rt.spawn(some_future) 到 运行 这个 运行 时间的未来。