一个进程里面有多个线程,他们的工作可以同时进行互不干扰,这样就可以充分利用cpu资源,节省时间提高效率。
多线程的创建和使用
不带参数的线程
Thread xiancheng = new Thread(方法)//创建线程,委托事件
xiancheng.Start();//开始执行
这样一个简单的线程就创建好了。
前台线程和后台线程
前台线程:当主线程关闭的时候它不会自动关闭
后台线程:当主线程关闭的时候它会自动关闭
Thread xiancheng = new Thread(方法)//创建线程,委托事件
xiancheng.IsBackground = true;//后台线程
xiancheng.Start();//开始执行
带参数的线程
定义方法的时候参数必须是obj类型的。
Thread xiancheng = new Thread(方法)//创建线程,委托事件
xiancheng.Start(参数);//开始执行
另外如果我们的方法当中有许多参数并且不是obj类型,那该怎么办呢??其实这个也很简单。
private void xianshi(string ss,string i)
{
MessageBox.Show(ss.ToString() + i.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
Thread xiancheng = new Thread(delegate()
{
xianshi("ddd", "ddd");
});
xiancheng.Start();
}
这里我们用的是匿名委托
Thread xiancheng = new Thread(delegate()
{
方法(参数)
});
xiancheng.Start();