我正在使用位于(例如) aStreamReader
或SqlDataReader
. 该接口公开了一个方法,GetNext()
如果有任何剩余对象,或者没有剩余对象,该方法将返回一个对象null
。
public interface ICollectionWidget<T>
{
T GetNext(); // Returns a T if there are any left, or null if there aren't
}
我需要并行处理T
返回的每个,并在返回GetNext()
时停止处理 。我不太确定这是如何完成的(使用 TPL 或其他)。我需要一种并行!显然,当我得到 a 时,我不希望任何仍在处理的线程完成,我只是不想添加任何新的处理 - 然后在所有线程完成它们正在做的事情时退出“循环” .GetNext()
null
while
null
任何人都可以帮忙吗?如果我的问题没有意义,请告诉我。