最近用到一个程序,对资源占用比较多,这样界面就死掉了。
因此另外开一个线程去做操作,但是界面线程要知道子线程什么时候结束。
研究了一下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();
}
本文介绍了一个使用AutoResetEvent类实现UI线程与后台线程间同步的方法。通过在主线程创建AutoResetEvent实例并等待其信号,同时在子线程完成任务后发送该信号,从而实现界面更新与子线程操作的协调。
3万+

被折叠的 条评论
为什么被折叠?



