.+100000这个过程中每次都加一个10,怎么说都是正数,但是,信不信它能给你加出个负数来(可能是内存溢出了),而且每次的结果都不一样(重要)!自己试试吧!
?...这个肯定是正确的值,因为每次的输出都是这个,这里因为如果给循环的最终值设小的话,他好像是同步去做了,不会有问题,所以这里给了个100000,这个时候它会开多个线程去做.
(2)、它可以向Task一样抛出异常...取消貌似只能取消整个Parallel运算,不支持取消内部的方法,我试了不行,而且必须在执行Parallel之前取消它,之后都不行.很其怪,可能我的调用方式有问题,如果你们有好的方法,欢迎在下面评论.
(4)、可以设置最多的线程数...var files = Directory.EnumerateFiles(path);
long totalFileLength = 0;
Parallel.ForEach...var files = Directory.EnumerateFiles(path);
long totalFileLength = 0;
Parallel.ForEach