多线程在C#项目中的应用实例
介绍一下多线程的好处,以及在实践中的应用,有例子最好。
[解决办法]
给你一个最简单的需求,
一个winform界面,上面有一个label和一个button。
目的就是点按钮后,让i不断自加,然后每次都把结果更新到界面上。
private int i = 0;
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
i++;
this.label1.Text = i.ToString();
}
}
显然象上面这样写代码会让程序卡死,界面无响应。
但是用线程的话就轻松解决这个问题。
private int i = 0;
private void button1_Click(object sender, EventArgs e)
{
Thread tread = new Thread(() =>
{
while (true)
{
i++;
this.Invoke(new Action(() =>
{
this.label1.Text = i.ToString();
}));
}
});
}