我不确定Parallel.foreach的内部线程处理方式,以及它是否能够保证这样的构造可以正常工作?
Parallel.Foreach(Connections, c =>
{
Input in = c.getInput();
while (in.hasNext()) {
object o = in.getNext();
dosomething(o);
}
}
);
在这里,in.hasNext() 只是等待输入流中的对象并返回 true。基本上,我可以在并行 foreach 结构中运行一堆无限 while 循环,并保证它们都同时运行。
(对于勇敢的人,我是否可以调整此内容,以便通过添加(和删除,这应该很简单)连接来编辑连接列表,并仍然从列表中的所有连接读取输入)。