欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-09-05 08:10:19
本文实例讲述了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#程序设计有所帮助。