界面和内部处理同步

来源:互联网 发布:船舶专业英语翻译软件 编辑:程序博客网 时间:2024/06/06 02:10

最近用到一个程序,对资源占用比较多,这样界面就死掉了。

因此另外开一个线程去做操作,但是界面线程要知道子线程什么时候结束。

研究了一下csdn,采用AutoResetEvent类解决。

首先声明一个全局的

private AutoResetEvent ar;

在界面线程中:

ar=new AutoResetEvent(false);
            Thread t = new Thread(new ThreadStart(IntervalWork));
            t.Start();
            ar.WaitOne();

 

子线程方法:

private void IntervalWork()
        {
          
                //做事。。。。。
          
            ar.Set();
        }