如何解决如何限制文件夹中的文件数量限制队列中的文件上传?
我有一个允许用户将文件上传到云的应用程序。流程如下:
- 用户将文件放到指定文件夹中。
- 正在侦听此文件夹,一旦文件被放入,它就会调用一个函数(多线程)来加密文件并将它们存储在一个中间文件夹中。
- 应用程序的另一部分按时间间隔从中间文件夹中提取加密文件并将它们(多线程)上传到云端。因此:
用户将文件添加到文件夹A -> 文件复制并加密到文件夹B并从文件夹A中删除 -> 文件夹B中的加密文件上传到云端并从文件夹B中删除
我想限制中间文件夹 B 中的文件数量,因为这些文件可能非常大。例如,如果在文件夹 B 中复制了 5 个加密文件,则下一次加密应等到 5 个加密文件中至少有一个已上传到云端;本质上就像一个队列。
如果输入的 5 个未完成上传,我曾考虑使用信号量来阻止加密。然而,加密和上传在代码库的不同部分,本质上是不同的功能/类,所以我认为我不能这样做。
另一种方法是在加密前使用while循环,并检查中间文件夹中的文件数,如果小于X,则允许加密并上传,否则继续循环。
如果您发现这种方法有任何问题,或者您知道更好的设计,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。