这篇文章主要介绍了C#基于委托实现多线程之间操作的方法,实例分析了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#程序设计有所帮助。
新闻热点
疑难解答