在 Rust 中使用交叉波束通道自动缩放接收器计数

Auto-scale receiver count with crossbeam-channel in Rust

提问人:Yuri Astrakhan 提问时间:8/19/2023 最后编辑:Yuri Astrakhan 更新时间:8/19/2023 访问量:61

问:

当使用多发送器/多接收机通道(如交叉波束通道或异步通道)时,我想根据通道拥塞状态动态扩展接收器的数量。如果通道的待处理项过多,则应创建更多接收器。如果频道接近空,某些接收器可能需要停止。

在流行的多接收方通道实现中是否有有助于实现此目的的 API?有没有其他方法?

人造丝 横梁

评论

2赞 cafce25 8/19/2023
“接收方”是指接收的线程数吗?或者这样做的异步任务的数量?还是什么?如果你指的是线程,那就不要这样做,只是为每个核心生成一个或 2 个线程,生成更多线程不会提高你的吞吐量。休眠线程根本不会使用太多资源。
0赞 Yuri Astrakhan 8/20/2023
接收器是文件接收器,每个接收器将接收到的数据写入自己的文件,并在这些文件的大小超过某个大小时旋转这些文件。我不想有太多待处理的半空文件。相反,我希望所有文件都主动写入,但只有当前负载需要的并行写入次数。

答: 暂无答案