static ManualResetEvent mr = new ManualResetEvent(false); static void Main(string[] args) { Thread t = new Thread(Run); //启动辅助线程 t.Start(); //等待辅助线程执行完毕之后,主线程才继续执行 Console.WriteLine("主线程一边做自己的事,一边等辅助线程执行!" + DateTime.Now.ToString("mm:ss")); //主线程停止 直到Run()执行完毕调用mr.Ser() 继续执行主线程 mr.WaitOne(); Console.WriteLine("收到信号,主线程继续执行" + DateTime.Now.ToString("mm:ss")); Console.ReadKey(); } /// <summary> /// 辅助线程 /// </summary> static void Run() { //模拟长时间任务 Thread.Sleep(3000); Console.WriteLine("辅助线程长时间任务完成!" + DateTime.Now.ToString("mm:ss")); mr.Set(); }
线程等待
最新推荐文章于 2022-06-28 00:57:48 发布