本文實例講述了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#程序設計有所幫助。
新聞熱點
疑難解答