加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何将一个项目添加到队列的前面?

发布时间:2020-12-15 06:47:57 所属栏目:百科 来源:网络整理
导读:我正在创建一个 Windows服务,利用FileSystemWatcher来监视特定的文件夹以添加特定的文件类型.由于创建的事件与文件实际准备好被操纵之间的差距,我创建了一个队列 T保存需要处理的文件名.在创建的事件处理程序中,该项目将添加到队列中.然后使用定时器,我定期
我正在创建一个 Windows服务,利用FileSystemWatcher来监视特定的文件夹以添加特定的文件类型.由于创建的事件与文件实际准备好被操纵之间的差距,我创建了一个队列< T>保存需要处理的文件名.在创建的事件处理程序中,该项目将添加到队列中.然后使用定时器,我定期从队列中获取第一个项目并处理它.如果处理失败,则将该项目添加回队列,以便该服务稍后可以重试处理.

这工作正常,但我发现它有一个副作用:新项目的第一个处理尝试不会发生,直到所有旧的重试项目已被重试.由于可能的队列可能包含很多项目,我想强制新的项目到队列的前面,以便先处理它们.但是从Queue<T> documentation起,没有明显的方法将项目添加到队列的前端.

我想我可以为新项目创建一个第二个队列,并且优先处理一个队列,但是有一个队列似乎更简单.

那么有一个简单的方法来添加一个项目到队列的前面?

解决方法

看起来像你想要一个 LinkedList<T>,它允许你做的事情,如AddFirst(),AddLast(),RemoveFirst()和RemoveLast().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读