本文实例讲述了C#基于委托实现多线程之间操作的方法。分享给大家供大家参考,具体如下:
有的时候我们要起多个线程,更多的时候可能会有某个线程会去操作其他线程里的属性。
但是线程是并发的,一般的调用是无法实现我们的要求的。
于是,我们在这里就可以用委托,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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#程序设计有所帮助。