日期:2014-05-17  浏览次数:20849 次

多线程在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();
                    }));
                }
            });
        }