问题描述
我在处理多个图像的管道中有两个步骤:
- 第 1 步:本地加载(或下载)图像(IO 绑定)
- 第 2 步:运行机器学习模型(CPU/GPU/计算绑定/单线程,因为模型很大)。如何限制存储在内存中的图像数量(从第 1 步开始)为第 2 步排队。这在响应式编程中称为背压。
如果没有背压,第 1 步中的所有工作可能会堆积起来,导致仅打开图像就会占用大量内存。
我想我可以使用一个信号量(例如 5 个),它大致代表我愿意为第 1 步(5 张图片)提供的内存量。我想这会使我的 5 个后台线程被阻塞,这可能是件坏事? (这是一个严肃的问题:阻塞后台线程是不是不好,因为它会消耗资源。)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)