我正在使用 a Blockingcollection
as aFIFO queue
但我正在对文件进行很多操作,其中consumer
可能很容易遇到文件锁,所以我所做的是创建一个简单的 try catch,其中消费者重新排队本身,但在很长一段时间FIFO queue
内队列中的许多其他项目,这足以暂停,但在一个空的或非常短的情况下FIFO queue
,这意味着consumer
永久地锤击队列,重复出现可能仍将被文件锁定的自身。
IE
consumer busy
-> 重新排队 -> consumer busy
-> 重新排队(无限期)
BlockingCollection
如果新消费者不到 10 秒,有没有办法让它不尝试运行它?即可能在队列中获取网络并继续,如果它的 createdDateTime 为空(第一次尝试的默认值)或> 10秒,则只接受下一个消费者?