AI智能
改变未来

C#多线程实例NO4

static void Main(string[] args){/*工作原理:当主程序和单独的数字打印线程运行时,我们等待6秒后对线程调用了t.Abort()方法,* 给该线程注入了ThreadAbortExpretion方法,导致线程被终结。* 这是非常危险的,因为该异常可以在任何时候发生并彻底销毁应用程序,* 而且使用这种方式也并非能彻底终止线程,目标线程可以通过处理该异常调用* ThreadResetAbort()来拒绝被终止。因此不建议使用t,Abort()来终止线程,* 可以优先使用其他方法,比如CancellionToken方法来取消来取消线程的执行*/Console.WriteLine(\"StartingProgram....\");Thread t = new Thread(PrintNumbersWithDelay);t.Start();Thread.Sleep(TimeSpan.FromSeconds(6));t.Abort();Console.WriteLine(\"A thread has been B thread aborted\");Thread t1 = new Thread(PrintNumbers);t1.Start();PrintNumbers();}
static void PrintNumbersWithDelay(){for (int i = 1; i < 10;i++ ){Thread.Sleep(TimeSpan.FromSeconds(2));Console.WriteLine(i);}}
static void PrintNumbers(){for (int i = 1; i < 10; i++){Console.WriteLine(i);}}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C#多线程实例NO4