C執行緒間通訊問題!急急急!子執行緒中窗體問題

時間 2021-05-05 12:28:46

1樓:匿名使用者

formmain:

void loaddata()

}form2 form;

private void button1_click(object sender, eventargs e)

formchild:

public void setvalue(string value)));}

else}

2樓:笹銘

子執行緒不可以新建窗體的,乙個窗體應用程式裡面有窗體的執行緒叫ui執行緒,也叫主線程。ui執行緒才能對窗體的控制項進行操作,新建窗體也要用ui執行緒,子執行緒對ui執行緒的控制項操作會報錯。解決的方法是子執行緒對ui執行緒使用委託,下面是我使用的非同步委託處理方法,

public void work(byte bt, ipendpoint point));}

其中workdelegate宣告乙個委託workdelegate指向dowork方法,窗體this的begininvoke方法非同步執行,你可以自己定義dowork方法的內容,在dowork方法裡無論是對窗體控制項操作還是新建窗體都不會報錯了,這是因為執行dowork方法的是ui執行緒。

如果還有不懂可以再問我。

3樓:烈比度

告訴我你qq號碼,我給你傳乙個專案,裡面有關一些現成呼叫的測試程式

C socket非同步怎麼實現執行緒間通訊如何實現

如果在同步的基礎上去改,改動會比較大,因為同步的socket通訊幾乎不需要什麼協議,而非同步一般是需要乙個簡單的協議,並且複雜程度會高很多,因為非同步本身就是不確定的。我不太清楚你說的 處理分批傳送和接收大資料報 是什麼意思,我的理解就是用 把資料一塊一塊的傳送了然後再在目的端去重新組合,你的意思是...

VC 多執行緒,c 多執行緒問題

當多個執行緒訪問乙個獨占性共享資源時,可以使用 臨界區 物件。任一時刻只有乙個執行緒可以擁有臨界區物件,擁有臨界區的執行緒可以訪問被保護起來的資源或 段,其他希望進入臨界區的執行緒將被掛起等待,直到擁有臨界區的執行緒放棄臨界區時為止,這樣就保證了不會在同一時刻出現多個執行緒訪問共享資源。ccriti...

c多執行緒操作控制元件問題,C 多執行緒操作控制元件問題

一樓的答案不僅不是正解,而且還會報錯!正確的做法如下 thread th new thread new threadstart th.isbackground true 一定要標記為後臺執行緒,這樣這個執行緒才能在你的主執行緒停止後自動停止 th.start 總之一句話,繁瑣的業務操作放在非主執行緒...