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

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

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

最佳答案

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

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

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

关于multithreading - 如何将Tokio线程池限制为一定数量的 native 线程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52839647/

10-11 23:05