2013-03-10 74 views
0

的是它确定为以下声明的List<T>队列:队列列表<T>

private static Queue<List<object>> webdata = new Queue<List<object>>(); 

我的对象列表通常包含几个数据表和其他一些物品

  • 如果没有,是否有一个更好的方法来做到这一点?
  • 如果队列计数为100我如何告诉线程执行 排队停止,直到队列的计数小于50?
+2

你的意思是“我的对象列表通常包含[一对]数据库...”? – tvanfosson 2013-03-10 17:11:01

+0

@tvanfosson我的意思是有很多的对象和数据表,我想限制我的队列到一个特定的大小,保持排队线程,直到出队线程做更多的处理,因为它会占用大量的内存 – user1590636 2013-03-10 17:18:10

+0

你为什么要存储这些在队列中(或者甚至是列表或列表的队列)? – tvanfosson 2013-03-10 17:18:58

回答

2
private static Queue<List<object>> webdata = new Queue<List<object>>(); 

当然,你可以声明一个这样的数据类型。

如果队列计数为100我如何告诉线程停止队列直到队列的计数小于50?

这是一个完美的工作TPL Dataflow。在阻止接受其他项目之前,您可以控制处理块中可能有多少项目。

如果您还没有学习TPL数据流,那么需要及时投资才能理解这些概念。但是,它非常适合这种类型的处理,并且可能值得付出努力。

+0

虽然我仍然在学习c#的基础知识,但我会走这个,谢谢:) – user1590636 2013-03-10 17:13:55

+0

正是我所期待的,非常感谢! – user1590636 2013-03-10 17:42:07