zoukankan      html  css  js  c++  java
  • C# Abort() 多线程运行逻辑

    .

     static void Main(string[] args)
            {
                Console.WriteLine("Starting program...");
                Thread t = new Thread(PrintNumbersWithStatus);
                Thread t2 = new Thread(DoNothing);
                Console.WriteLine(t.ThreadState.ToString());
                t2.Start();
                t.Start();
                for (int i = 1; i < 30; i++)
                {
                    Console.WriteLine("主线程 : " + t.ThreadState.ToString()+" "+i +";");
                }
                Thread.Sleep(TimeSpan.FromSeconds(6));
                //-----------------------------------
                t.Abort();//阻碍主线程继续运行,等待t线程运行完成。
                //在调用此方法的线程上引发 System.Threading.ThreadAbortException,
                //以开始终止此线程的过程。调用此方法通常会终止线程。
                Console.WriteLine("A thread has been aborted");
                Console.WriteLine("t线程状态:"+ t.ThreadState.ToString());//AbortRequested 线程的Thread.Abort()方法已被调用,但是线程还未停止;
                Console.WriteLine("t2线程状态:" + t2.ThreadState.ToString());//Stopped 线程已经被停止;
                Console.ReadKey();
            }
            static void DoNothing()
            {
                for (int i = 1; i < 10; i++)
                {
                    Thread.Sleep(TimeSpan.FromSeconds(2));
                    Console.WriteLine("t2:" + i);
                }
            }
            static void PrintNumbersWithStatus()
            {
                for (int i = 1; i < 10; i++)
                {
                    Console.WriteLine("t : " + i);
                    Thread.Sleep(TimeSpan.FromSeconds(2));
                }
            }














    、、、
  • 相关阅读:
    待完成
    [NOI2006]神奇口袋
    [UVA 10529]Dumb Bones
    概率与期望习题总结
    [SHOI2012]随机树
    [luogu3412]仓鼠找sugar II
    [CF908D]New Year and Arbitrary Arrangement
    [清华集训]小 Y 和恐怖的奴隶主
    [SDOI2015]序列统计
    [luogu3600]随机数生成器
  • 原文地址:https://www.cnblogs.com/lanyubaicl/p/11179914.html
Copyright © 2011-2022 走看看