這篇文章主要介紹了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#程序設計有所幫助。
新聞熱點
疑難解答