主线程和子线程的区别
每个线程都有一个唯一标示符,来区分线程中的主次关系的说法。
线程唯一标示符:Thread.CurrentThread.ManagedThreadID;
- UI界面和Main函数均为主线程。
- 被Thread包含的“方法体”或者“委托”均为子线程。
- 委托可以包含多个方法体,利用this.Invoke去执行。
- 也可以定义多种方法体,放在Thread里面去执行。则此方法体均为子线程。注意如果要修改UI界面的显示。则需要使用this.Invoke,否则会报异常。
- Main函数为主线程,id标示符与UI界面主线程相等
不多说了。看下面的测试代码注释吧。
public delegate void dele();
public partial class Form1 : Form
{
int idA;
public dele getlab;
public Form1()
{
InitializeComponent();
idA = Thread.CurrentThread.ManagedThreadId;//UI界面主线程
/*
* Main函数为主线程,id标示符与UI界面主线程相同。
*/
}
Thread thread;
private void getbtu_Click(