多线程-循环执行-含参方法-等待全部完成

using System;
using System.Threading;

namespace ThreadDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            ManualResetEvent[] _ManualEvents = new ManualResetEvent[10];
            for (int i = 0; i < 10; i++)
            {
                _ManualEvents[i] = new ManualResetEvent(false);
                ThreadPool.QueueUserWorkItem(new WaitCallback(testMethod), new { Event = _ManualEvents[i], Index = i });
            }
            WaitHandle.WaitAll(_ManualEvents);
            // 线程结束后执行后面的主线程代码  
            Console.WriteLine("结束了");
            Console.ReadLine();
        }
        public static void testMethod(dynamic paras)
        {
            int i = paras.Index;
            Console.WriteLine(i);
            paras.Event.Set();
        }
    }
}

你可能感兴趣的:(C#语法)