C#基于委托实现多线程之间操作的方法

本文实例讲述了C#基于委托实现多线程之间操作的方法。分享给大家供大家参考,具体如下:

有的时候我们要起多个线程,更多的时候可能会有某个线程会去操作其他线程里的属性。
但是线程是并发的,一般的调用是无法实现我们的要求的。
于是,我们在这里就可以用委托,代码如下

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

希望本文所述对大家C#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。