2010-08-13 66 views
1

我正在构建一个从List继承的类。项目将在运行时添加到这个集合中,我想要的是让这个类在添加n个项目之后自动对每个项目块执行一些操作。如何同时处理集合中的n个项目

所以这里是场景。

1]创建从名单继承新类 - CollectionX

2]在运行时,我们将调用ColX.Add(T)多次

3]当COLX有500分以上的项目是将它们移动到临时区域并对它们进行操作,然后删除它们。请记住,所有的时间项目仍将被添加到ColX。

所以我想我的问题是我如何实现这个很好,并确保它是线程安全的。

要执行的工作必须以块形式完成,因此我不认为队列将起作用,因为您一次只能出列1个项目。

我想即时寻找更多的模式比实际类型或库。

任何人都可以帮忙吗?

回答

0

不要让CollectionX继承List。

相反,内部使用2个列表,将Add()更改为1并处理另一个列表。

这样你只需要lock交换列表。如果有时间问题,你甚至可以使用第三个列表来防止堵塞。

相关问题