.net parallel 多线程执行验证-所有线程都执行完再跳出

parallel.for()执行是不分顺序的,而且等所有都执行完成之后再跳出循环

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;


namespace Example
{
    class Program
    {
        public static void Main()
        {
            var rnd = new Random();
            //int breakIndex = rnd.Next(1, 11);
            //Nullable<long> lowest = new Nullable<long>();


            //Console.WriteLine("Will call Break at iteration {0}\n",
            //                  breakIndex);


            var result = Parallel.For(1, 101, (i, state) =>
            {
                Console.WriteLine(string.Format("Beginning iteration {0},Time = {1}", i, DateTime.Now.ToString("yyyy-mm-dd hh-mm-ss")));
                int delay;
                Monitor.Enter(rnd);
                delay = rnd.Next(1, 1001);
                Monitor.Exit(rnd);
                Thread.Sleep(delay);


                //if (state.ShouldExitCurrentIteration)
                //{
                //    if (state.LowestBreakIteration < i)
                //        return;
                //}


                //if (i == breakIndex)
                //{
                //    Console.WriteLine("Break in iteration {0}", i);
                //    state.Break();
                //    if (state.LowestBreakIteration.HasValue)
                //        if (lowest < state.LowestBreakIteration)
                //            lowest = state.LowestBreakIteration;
                //        else
                //            lowest = state.LowestBreakIteration;
                //}


                Console.WriteLine(string.Format("Completed iteration {0},Time = {1}", i, DateTime.Now.ToString("yyyy-mm-dd hh-mm-ss")));
            });






            //if (lowest.HasValue)
            //    Console.WriteLine("\nLowest Break Iteration: {0}", lowest);
            //else
            //    Console.WriteLine("\nNo lowest break iteration.");


            Console.WriteLine("\nCompleted All.");
            Console.WriteLine(string.Format("Completed All,Time = {0}", DateTime.Now.ToString("yyyy-mm-dd hh-mm-ss")));


            Console.ReadKey();
        }
    }
}


执行结果:

Beginning iteration 26,Time = 2018-41-26 09-41-15
Beginning iteration 1,Time = 2018-41-26 09-41-15
Beginning iteration 51,Time = 2018-41-26 09-41-15
Beginning iteration 76,Time = 2018-41-26 09-41-15
Beginning iteration 2,Time = 2018-41-26 09-41-15
Completed iteration 1,Time = 2018-41-26 09-41-15
Beginning iteration 3,Time = 2018-41-26 09-41-15
Completed iteration 76,Time = 2018-41-26 09-41-15
Beginning iteration 77,Time = 2018-41-26 09-41-15
Completed iteration 3,Time = 2018-41-26 09-41-16
Beginning iteration 4,Time = 2018-41-26 09-41-16
Completed iteration 77,Time = 2018-41-26 09-41-16
Beginning iteration 78,Time = 2018-41-26 09-41-16
Completed iteration 4,Time = 2018-41-26 09-41-16
Beginning iteration 5,Time = 2018-41-26 09-41-16
Completed iteration 26,Time = 2018-41-26 09-41-16
Beginning iteration 27,Time = 2018-41-26 09-41-16
Completed iteration 27,Time = 2018-41-26 09-41-16
Beginning iteration 28,Time = 2018-41-26 09-41-16
Completed iteration 51,Time = 2018-41-26 09-41-16
Beginning iteration 52,Time = 2018-41-26 09-41-16
Completed iteration 78,Time = 2018-41-26 09-41-16
Beginning iteration 79,Time = 2018-41-26 09-41-16
Completed iteration 2,Time = 2018-41-26 09-41-16
Beginning iteration 9,Time = 2018-41-26 09-41-16
Completed iteration 52,Time = 2018-41-26 09-41-16
Beginning iteration 53,Time = 2018-41-26 09-41-16
Completed iteration 28,Time = 2018-41-26 09-41-16
Beginning iteration 29,Time = 2018-41-26 09-41-16
Completed iteration 9,Time = 2018-41-26 09-41-16
Beginning iteration 10,Time = 2018-41-26 09-41-16
Completed iteration 53,Time = 2018-41-26 09-41-17
Beginning iteration 54,Time = 2018-41-26 09-41-17
Completed iteration 5,Time = 2018-41-26 09-41-17
Beginning iteration 6,Time = 2018-41-26 09-41-17
Completed iteration 79,Time = 2018-41-26 09-41-17
Beginning iteration 80,Time = 2018-41-26 09-41-17
Completed iteration 6,Time = 2018-41-26 09-41-17
Beginning iteration 7,Time = 2018-41-26 09-41-17
Completed iteration 7,Time = 2018-41-26 09-41-17
Beginning iteration 8,Time = 2018-41-26 09-41-17
Completed iteration 10,Time = 2018-41-26 09-41-17
Beginning iteration 11,Time = 2018-41-26 09-41-17
Completed iteration 29,Time = 2018-41-26 09-41-17
Beginning iteration 30,Time = 2018-41-26 09-41-17
Completed iteration 8,Time = 2018-41-26 09-41-17
Beginning iteration 15,Time = 2018-41-26 09-41-17
Completed iteration 11,Time = 2018-41-26 09-41-17
Beginning iteration 12,Time = 2018-41-26 09-41-17
Completed iteration 54,Time = 2018-41-26 09-41-18
Beginning iteration 55,Time = 2018-41-26 09-41-18
Completed iteration 55,Time = 2018-41-26 09-41-18
Beginning iteration 56,Time = 2018-41-26 09-41-18
Completed iteration 80,Time = 2018-41-26 09-41-18
Beginning iteration 81,Time = 2018-41-26 09-41-18
Beginning iteration 33,Time = 2018-41-26 09-41-18
Completed iteration 15,Time = 2018-41-26 09-41-18
Beginning iteration 16,Time = 2018-41-26 09-41-18
Completed iteration 56,Time = 2018-41-26 09-41-18
Beginning iteration 57,Time = 2018-41-26 09-41-18
Completed iteration 16,Time = 2018-41-26 09-41-18
Beginning iteration 17,Time = 2018-41-26 09-41-18
Completed iteration 17,Time = 2018-41-26 09-41-18
Beginning iteration 18,Time = 2018-41-26 09-41-18
Completed iteration 30,Time = 2018-41-26 09-41-18
Beginning iteration 31,Time = 2018-41-26 09-41-18
Completed iteration 18,Time = 2018-41-26 09-41-18
Beginning iteration 19,Time = 2018-41-26 09-41-18
Completed iteration 81,Time = 2018-41-26 09-41-18
Beginning iteration 82,Time = 2018-41-26 09-41-18
Completed iteration 12,Time = 2018-41-26 09-41-18
Beginning iteration 13,Time = 2018-41-26 09-41-18
Completed iteration 19,Time = 2018-41-26 09-41-18
Beginning iteration 20,Time = 2018-41-26 09-41-18
Completed iteration 33,Time = 2018-41-26 09-41-18
Beginning iteration 34,Time = 2018-41-26 09-41-18
Completed iteration 20,Time = 2018-41-26 09-41-18
Beginning iteration 21,Time = 2018-41-26 09-41-18
Completed iteration 34,Time = 2018-41-26 09-41-19
Beginning iteration 35,Time = 2018-41-26 09-41-19
Completed iteration 13,Time = 2018-41-26 09-41-19
Beginning iteration 14,Time = 2018-41-26 09-41-19
Completed iteration 31,Time = 2018-41-26 09-41-19
Beginning iteration 32,Time = 2018-41-26 09-41-19
Completed iteration 21,Time = 2018-41-26 09-41-19
Beginning iteration 22,Time = 2018-41-26 09-41-19
Completed iteration 57,Time = 2018-41-26 09-41-19
Beginning iteration 58,Time = 2018-41-26 09-41-19
Completed iteration 82,Time = 2018-41-26 09-41-19
Beginning iteration 83,Time = 2018-41-26 09-41-19
Completed iteration 22,Time = 2018-41-26 09-41-19
Beginning iteration 23,Time = 2018-41-26 09-41-19
Completed iteration 23,Time = 2018-41-26 09-41-19
Beginning iteration 24,Time = 2018-41-26 09-41-19
Completed iteration 35,Time = 2018-41-26 09-41-19
Beginning iteration 36,Time = 2018-41-26 09-41-19
Completed iteration 83,Time = 2018-41-26 09-41-19
Beginning iteration 84,Time = 2018-41-26 09-41-19
Completed iteration 14,Time = 2018-41-26 09-41-19
Beginning iteration 40,Time = 2018-41-26 09-41-19
Completed iteration 36,Time = 2018-41-26 09-41-20
Beginning iteration 37,Time = 2018-41-26 09-41-20
Completed iteration 24,Time = 2018-41-26 09-41-20
Beginning iteration 25,Time = 2018-41-26 09-41-20
Completed iteration 58,Time = 2018-41-26 09-41-20
Beginning iteration 59,Time = 2018-41-26 09-41-20
Completed iteration 32,Time = 2018-41-26 09-41-20
Beginning iteration 48,Time = 2018-41-26 09-41-20
Completed iteration 40,Time = 2018-41-26 09-41-20
Beginning iteration 41,Time = 2018-41-26 09-41-20
Completed iteration 84,Time = 2018-41-26 09-41-20
Beginning iteration 85,Time = 2018-41-26 09-41-20
Completed iteration 48,Time = 2018-41-26 09-41-20
Beginning iteration 49,Time = 2018-41-26 09-41-20
Completed iteration 41,Time = 2018-41-26 09-41-20
Beginning iteration 42,Time = 2018-41-26 09-41-20
Completed iteration 85,Time = 2018-41-26 09-41-21
Beginning iteration 86,Time = 2018-41-26 09-41-21
Completed iteration 37,Time = 2018-41-26 09-41-21
Beginning iteration 38,Time = 2018-41-26 09-41-21
Completed iteration 25,Time = 2018-41-26 09-41-21
Beginning iteration 66,Time = 2018-41-26 09-41-21
Completed iteration 59,Time = 2018-41-26 09-41-21
Beginning iteration 60,Time = 2018-41-26 09-41-21
Completed iteration 86,Time = 2018-41-26 09-41-21
Beginning iteration 87,Time = 2018-41-26 09-41-21
Completed iteration 38,Time = 2018-41-26 09-41-21
Beginning iteration 39,Time = 2018-41-26 09-41-21
Completed iteration 66,Time = 2018-41-26 09-41-21
Beginning iteration 67,Time = 2018-41-26 09-41-21
Completed iteration 49,Time = 2018-41-26 09-41-21
Beginning iteration 50,Time = 2018-41-26 09-41-21
Beginning iteration 91,Time = 2018-41-26 09-41-21
Completed iteration 67,Time = 2018-41-26 09-41-21
Beginning iteration 68,Time = 2018-41-26 09-41-21
Completed iteration 42,Time = 2018-41-26 09-41-21
Beginning iteration 43,Time = 2018-41-26 09-41-21
Completed iteration 39,Time = 2018-41-26 09-41-21
Beginning iteration 92,Time = 2018-41-26 09-41-21
Completed iteration 92,Time = 2018-41-26 09-41-21
Beginning iteration 93,Time = 2018-41-26 09-41-21
Completed iteration 91,Time = 2018-41-26 09-41-21
Beginning iteration 100,Time = 2018-41-26 09-41-21
Completed iteration 50,Time = 2018-41-26 09-41-21
Completed iteration 87,Time = 2018-41-26 09-41-22
Beginning iteration 88,Time = 2018-41-26 09-41-22
Completed iteration 60,Time = 2018-41-26 09-41-22
Beginning iteration 61,Time = 2018-41-26 09-41-22
Completed iteration 68,Time = 2018-41-26 09-41-22
Beginning iteration 69,Time = 2018-41-26 09-41-22
Completed iteration 43,Time = 2018-41-26 09-41-22
Beginning iteration 44,Time = 2018-41-26 09-41-22
Completed iteration 93,Time = 2018-41-26 09-41-22
Beginning iteration 94,Time = 2018-41-26 09-41-22
Completed iteration 100,Time = 2018-41-26 09-41-22
Completed iteration 88,Time = 2018-41-26 09-41-22
Beginning iteration 89,Time = 2018-41-26 09-41-22
Completed iteration 61,Time = 2018-41-26 09-41-22
Beginning iteration 62,Time = 2018-41-26 09-41-22
Completed iteration 44,Time = 2018-41-26 09-41-22
Beginning iteration 45,Time = 2018-41-26 09-41-22
Completed iteration 45,Time = 2018-41-26 09-41-22
Beginning iteration 46,Time = 2018-41-26 09-41-22
Completed iteration 69,Time = 2018-41-26 09-41-23
Beginning iteration 70,Time = 2018-41-26 09-41-23
Completed iteration 70,Time = 2018-41-26 09-41-23
Beginning iteration 71,Time = 2018-41-26 09-41-23
Completed iteration 94,Time = 2018-41-26 09-41-23
Beginning iteration 95,Time = 2018-41-26 09-41-23
Completed iteration 89,Time = 2018-41-26 09-41-23
Beginning iteration 90,Time = 2018-41-26 09-41-23
Completed iteration 62,Time = 2018-41-26 09-41-23
Beginning iteration 63,Time = 2018-41-26 09-41-23
Completed iteration 63,Time = 2018-41-26 09-41-23
Beginning iteration 64,Time = 2018-41-26 09-41-23
Completed iteration 64,Time = 2018-41-26 09-41-23
Beginning iteration 65,Time = 2018-41-26 09-41-23
Completed iteration 46,Time = 2018-41-26 09-41-23
Beginning iteration 47,Time = 2018-41-26 09-41-23
Completed iteration 71,Time = 2018-41-26 09-41-23
Beginning iteration 72,Time = 2018-41-26 09-41-23
Completed iteration 95,Time = 2018-41-26 09-41-23
Beginning iteration 96,Time = 2018-41-26 09-41-23
Completed iteration 65,Time = 2018-41-26 09-41-23
Completed iteration 90,Time = 2018-41-26 09-41-24
Completed iteration 72,Time = 2018-41-26 09-41-24
Beginning iteration 73,Time = 2018-41-26 09-41-24
Completed iteration 47,Time = 2018-41-26 09-41-24
Completed iteration 96,Time = 2018-41-26 09-41-24
Beginning iteration 97,Time = 2018-41-26 09-41-24
Completed iteration 97,Time = 2018-41-26 09-41-24
Beginning iteration 98,Time = 2018-41-26 09-41-24
Completed iteration 73,Time = 2018-41-26 09-41-24
Beginning iteration 74,Time = 2018-41-26 09-41-24
Completed iteration 98,Time = 2018-41-26 09-41-25
Beginning iteration 99,Time = 2018-41-26 09-41-25
Completed iteration 74,Time = 2018-41-26 09-41-25
Beginning iteration 75,Time = 2018-41-26 09-41-25
Completed iteration 75,Time = 2018-41-26 09-41-25
Completed iteration 99,Time = 2018-41-26 09-41-25


Completed All.
Completed All,Time = 2018-41-26 09-41-25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值