现在的位置: 首页 > 综合 > 正文

c# 用委托实现多线程之间的操作

2012年11月15日 ⁄ 综合 ⁄ 共 526字 ⁄ 字号 评论关闭

 

有的时候我们要起多个线程,更多的时候可能会有某个线程会去操作其他线程里的属性。

但是线程是并发的,一般的调用是无法实现我们的要求的。

于是,我们在这里就可以用委托,代码如下

代码

private delegate void DelegateInfo();
private delegate void DelegateIsEnd();
//这个是线程调用其他线程的方法
private void Dowork()
{
// 判断是否需要Invoke,多线程时需要
if (this.InvokeRequired)
{
// 通过委托调用写主线程控件的程序,传递参数放在object数组中
this.Invoke(new DelegateInfo(LoadFile));
}
else
{
// 如果不需要委托调用,则直接调用
this.LoadFile();
}

//=========线程结束===========
this.BeginInvoke(new DelegateIsEnd(ISEnd));
}
private void ISEnd()
{
wf.Visible
= false;
wf.Close();
wf.Dispose();

}
private void LoadFile()
{
}
private WaitingForm wf = nu

 

抱歉!评论已关闭.