C#/ mono中的简单异步队列数据结构

时间:2010-04-07 11:35:52

标签: c# mono queue data-structures

我想编写一个需要任务队列的应用程序。我应该能够将Tasks添加到这个队列中,这些任务可以异步完成(并且一旦完成就应该可以从这个队列中删除)

数据结构还应该能够获得有关队列中任何任务的信息,并提供唯一的队列位置标识符。

数据结构还应随时提供队列中的项目列表。

管理此队列的LINQ接口也是可取的。

由于这是许多应用程序的一个非常常见的要求(至少在我的个人观察中),我想知道是否有任何标准数据结构可用作c#库的一部分,而不是我从头开始编写的东西。

任何指针?

1 个答案:

答案 0 :(得分:0)

在我看来,您正在混淆数据结构和它旨在跟踪的异步任务。你确定他们需要做同样的事情吗?

运行异步任务时ThreadPool.QueueUserWorkItem不满足吗?您可以维护从List<TaskStatus>HashSet<TaskStatus>派生的自己的结构以跟踪结果,并且可以提供方便的方法来清除已完成的项目,检索待处理的项目等。