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

时间:2018-10-16 16:04:07

标签: multithreading asynchronous rust rust-tokio mio

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

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用tokio::runtime::Builder构建Tokio Runtime对象。构建器提供了core_threads()方法,可用于配置线程数,例如

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

然后,您可以使用rt.spawn(some_future)在此运行时上运行未来。