首页 > 代码库 > Thread线程类使用随笔

Thread线程类使用随笔

  • Thread步骤

    实例化Thread类,并传入一个指向线程所要运行方法的委托。(这时候这个线程已经产生,但是还没有运行)

    调用Thread实例的Start方法,标记该线程可以被CPU执行了,但具体执行时间由CPU决定。

  • 前台线程和后台线程区别

 

    前台线程:只有所有的前台线程都关闭才能完成程序关闭。

 

    后台线程:只要所有的前台线程结束,后台线程自动结束。

  • Thread常用方法
  1. Start()启动线程(告诉CPU 我可以被执行了,具体什么时候执行,由CPU决定)
  2. Abort()终止线程 终止完成之后不能再Start()
  3. Thread.Sleep(1) 静态方法,可以使当前线程停止一段时间运行
  4. Name线程名
  5. Thread.CurrentThread获得当前的线程引用
 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading; 9 using System.Threading.Tasks;10 using System.Windows.Forms;11 12 namespace test213 {14     public partial class Form1 : Form15     {16         public Form1()17         {18             InitializeComponent();19         }20         Thread th;//实例一个线程21         private void button1_Click(object sender, EventArgs e)22         {23              th = new Thread(test);24             th.IsBackground=true ;//后台线程,这样在进程结束后,线程自动结束25             th.Start();26         }27         private void test()28         {29             for (int i = 0; i < 10000; i++)30             {31                 textBox1.Text = i.ToString();32             }33         }34 35         private void Form1_Load(object sender, EventArgs e)36         {37             Control.CheckForIllegalCrossThreadCalls = false;38         }39 40         private void Form1_FormClosing(object sender, FormClosingEventArgs e)41         {42             if(th!=null)//如果线程在窗口关闭时还没有结束,则终止线程43             {44                 th.Abort();45             }46         }47 48 49     }50 }

以上是在VS2012的.net4.5版本的Winform下测试的,在WPF下测试待续。。。。

 

Thread线程类使用随笔