C#_基础_多线程(十九)

单线程 :只有一个线程(主线程),弊端,一个时间只能调用一个函数方法,如果正在打印时候去关闭程序,会关闭不了,出现假死现象

  线程分为前台线程和后台线程
默认创建的都是前台线程
 前台线程: 只有多有的前台线程都关闭了才能完成程序的关闭
 后台线程: 只要所有的前台线程结束,后台线程自动结束
 解析:创建的前台线程,在主线程关闭后,仍然可以继续执行,后台线程随着前台的关闭而关闭

1.多线程,创建一个线程

 1   static void Main(string[] args)
 2         {
 3             //创建一个线程,目的是执行Test()方法
 4             Thread th = new Thread(Test);
 5             //start(); 标记这个线程准备就绪了,可以随时被执行了。
 7             th.IsBackground = true; //设置为后台线程
 8           //  Control.InvokeRequired
 9             th.Start();
10 
11             Console.ReadKey();
12         }
13 
14 
15         public static void Test()
16         {
17            
18         }

设置线程是前台线程,后台线程,默认是前台线程
设置为true 是后台线程,FALSE是前台线程
     th.IsBackground = true; //设置为后台线程

终止线程,
            th.Abort();
            如果程序终止后不可以再开启,会抛出异常,线程可能已经开启或被终止
            th.Abort();
            th.Start();

如果新线程,要访问主线程的资源,在.Net下不允许跨线程的访问
            解决:取消跨线程的访问

  休眠 1000毫秒,休眠的是所在的当前线程
                Thread.Sleep(1000);

 //获得当前线程的对象
            Thread t =  Thread.CurrentThread;

原文地址:https://www.cnblogs.com/CeasarH/p/9120953.html