使用ThreadPool.QueueUserWorkItem线程池
public static void mian(string[] args){
int threadNum=10;
ManualResetEvent[] _ManualEvents = new ManualResetEvent[threadNum];//控制信号
for (int i = 0; i < threadNum; i++)
{
_ManualEvents[i] = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(CallBack), _ManualEvents[i] ); //参数可选 开启一个线程
}
WaitHandle.WaitAll(_ManualEvents);//线程池执行完毕进行主线程
Console.WriteLine(“全部线程执行结束”);
}
//回调函数
public void CallBack(object obj){
ManualResetEvent e =(ManualResetEvent )obj;
for(int i = 0; i < 10; i++){
Console.WriteLine($“这是第{i}次打印”);
}
e.Set();//set方法调用才执行下步操作
}