如何将 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::run
和 tokio_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)
到 运行 这个 运行 时间的未来。
将 Tokio (v 0.1.11) 线程池限制为 n
OS 本机线程的正确方法是什么,其中 n
是任意数字,最好在运行时配置?
据我所知,可以使用 tokio_current_thread::block_on_all
而不是 tokio::run
和 tokio_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)
到 运行 这个 运行 时间的未来。