Multithreading 如何限制文件夹中的文件数(限制队列中的文件上载)?
我有一个应用程序,允许用户上传文件到云。过程如下所示:Multithreading 如何限制文件夹中的文件数(限制队列中的文件上载)?,multithreading,algorithm,file-upload,limit,semaphore,Multithreading,Algorithm,File Upload,Limit,Semaphore,我有一个应用程序,允许用户上传文件到云。过程如下所示: 用户将文件放置在指定的文件夹中 正在侦听此文件夹,一旦文件被放入,它将调用一个函数(多线程)来加密文件并将其存储在中间文件夹中 应用程序的另一部分在时间间隔内从中间文件夹中提取加密文件,并将其上载(多线程)到云。因此: 用户将文件添加到文件夹A->将文件复制并加密到文件夹B并从文件夹A中删除->将文件夹B中的加密文件上载到云中并从文件夹B中删除 我想限制中间文件夹B中的文件数量,因为这些文件可能非常大。例如,如果文件夹B中复制了5个加密文件
如果您认为这种方法有任何问题,请告知我,因为您知道一种更好的设计。您可以使用消息队列(类似RabbitMQ)来发布中间文件夹可以接收新文件的事件。代码的加密段可以侦听此类事件以将新文件推送到中间文件夹