---------------------- Windows Phone 7手机开发、Net培训、期待与您交流! ----------------------
一个进程至少有一个线程。 同一个进程中的多个线程之间可以“并发”执行。 线程是程序中的一个执行流,每个线程都有自己的寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务(代码),也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。 线程肯定也是要执行一段代码的。所以要产生一个线程,必须先为该线程写一个方法。 前台线程:只有所有的前台线程都关闭才能完成程序关闭时。 后台线程:只要所有的前台线程结束,后台线程自动结束。 Start()启动线程 Abort()终止线程 Thread。Sleep(1)静态 方法,使线程停止一段时间运行。 Name线程名 Thread.CurrentThread获得当前的线程引用。
线程练习
public Form1()
{
InitializeComponent();
TextBox.CheckForIllegalCrossThreadCalls = false;
}
private void button1_Click(object sender, EventArgs e)
{
CountNo();
}
void CountNo()
{
//DateTime d = DateTime.Now;
for (int i = 0; i < 1000; i++)
{
int a = int.Parse(textBox1.Text);
Console.WriteLine(Thread.CurrentThread.Name+" "+"a="+a+" i="+i);
a++;
textBox1.Text = a.ToString();
}
//TimeSpan t = d.Subtract(DateTime.Now);
//MessageBox.Show("~~~~~~~~~``"+t.Milliseconds);
}
private void button2_Click(object sender, EventArgs e)
{
Thread thread = new Thread(CountNo);
thread.Name = "t1";
thread.IsBackground = true;
thread.Start();
Thread thread2 = new Thread(CountNo);
thread2.Name = "t2";
thread2.IsBackground = true; ;
thread2.Start();
}
---------------------- Windows Phone 7手机开发、Net培训、期待与您交流! ----------------------
详细请查看: http://net.itheima.com