c# – 如何将一个项目添加到队列的前面?
发布时间:2020-12-15 06:47:57 所属栏目:百科 来源:网络整理
导读:我正在创建一个 Windows服务,利用FileSystemWatcher来监视特定的文件夹以添加特定的文件类型.由于创建的事件与文件实际准备好被操纵之间的差距,我创建了一个队列 T保存需要处理的文件名.在创建的事件处理程序中,该项目将添加到队列中.然后使用定时器,我定期
我正在创建一个
Windows服务,利用FileSystemWatcher来监视特定的文件夹以添加特定的文件类型.由于创建的事件与文件实际准备好被操纵之间的差距,我创建了一个队列< T>保存需要处理的文件名.在创建的事件处理程序中,该项目将添加到队列中.然后使用定时器,我定期从队列中获取第一个项目并处理它.如果处理失败,则将该项目添加回队列,以便该服务稍后可以重试处理.
这工作正常,但我发现它有一个副作用:新项目的第一个处理尝试不会发生,直到所有旧的重试项目已被重试.由于可能的队列可能包含很多项目,我想强制新的项目到队列的前面,以便先处理它们.但是从 我想我可以为新项目创建一个第二个队列,并且优先处理一个队列,但是有一个队列似乎更简单. 那么有一个简单的方法来添加一个项目到队列的前面? 解决方法
看起来像你想要一个
LinkedList<T> ,它允许你做的事情,如AddFirst(),AddLast(),RemoveFirst()和RemoveLast().
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |