引:先准备一个比较消耗资源的方法,在后面线程中,会用得到
#region Private Method
/// <summary>
/// 一个比较耗时耗资源的私有方法
/// </summary>
/// <param name="name"></param>
private void DoSomethingLong(string name)
{
Console.WriteLine($"*****DoSomethingLong开始;参数【{name}】;线程Id:【{Thread.CurrentThread.ManagedThreadId.ToString("00")}】;当前时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}***");
long result = 0;
for (int i = 0; i < 1_000_000_000; i++)
{
result += i;
}
Console.WriteLine($"*****DoSomethingLong结束;参数【{name}】;线程Id:【{Thread.CurrentThread.ManagedThreadId.ToString("00")}】;当前时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")};result:{result}***");
}
#endregion
一 线程Thread:
(一)Thread:C#对线程对象的一个封装
Thread出现自.netFramwork1.0时代,上一节介绍过,线程是电脑操作系统的一个概念,而Thread是对操作系统的线程对象进行了一个封装,在C#程序中使用Thread,并不是直接能够操作电脑操作系统的线程,而是.netFramework去操作系统申请一个线程拿来我们使用。