本文实例讲述了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#程序设计有所帮助。