c多執行緒執行時出現主介面卡死現象如何解決

2021-05-17 05:06:27 字數 1422 閱讀 1413

1樓:匿名使用者

無論是哪種語言都一樣,控制元件是主執行緒在執行的,你建立新的執行緒去跨執行緒訪問就會衝突,在一個執行緒裡處理一個事情,另一個執行緒被忽略,肯定會假死。舉個例子,用c#,我拖放一個richtextbox記錄事件,一個button觸發事件開始,一個label記錄進度,一個progressbar顯示進度。

//執行緒工作

private void even()

//列舉執行緒狀態

enum eventpe

//委託主執行緒控制元件方法

void invor(string sg,int va,eventpe ik)

));progressbar1.begininvoke(new eventhandler(delegate ));

label1.begininvoke(new eventhandler(delegate ));

break;

case eventpe.doev:

progressbar1.begininvoke(new eventhandler(delegate ));

label1.begininvoke(new eventhandler(delegate ));

richtextbox1.begininvoke(new eventhandler(delegate ));

break;

case eventpe.end:

progressbar1.begininvoke(new eventhandler(delegate ));

label1.begininvoke(new eventhandler(delegate ));

break;}}

//初始化按鈕事件和狀態

public void btn_event();}

在程式中直接加入初始化就好了

public form1()

這就是一個真正的多執行緒

2樓:匿名使用者

我建議你用backgroundworker控制元件比較好,簡單易用,我做多執行緒的時候就常用這個~

c#多執行緒啟動後ui介面無響應

c#中如何開啟一個執行緒?條件是 1.主介面不能卡死。 2.這個執行緒在被主執行緒呼叫的時候有著嚴格的執

3樓:匿名使用者

static void main(string args)", n);

thread.sleep(n * 1000);

console.writeline("子執行緒完成");

});t.start();

while (t.threadstate != threadstate.stopped)

console.writeline("主執行緒完成");

console.readkey();}

除錯C語言程式時打不開,c語言程式執行時 include stdib h 打不開為什麼

把防毒軟體關了,重新編譯執行 看不清圖,目測是沒有包含stdafx.h 首先,這拍的也太不清晰了 其次,具體問題是什麼描述一哈 最後,我還要再吐槽一些,以後記得清晰點的圖 直接拖動進去工作區視窗試試 c語言程式執行時 include打不開為什麼 應該是stdlib.h吧?包括一些基本的函式 另外常用...

vb程式執行時出現實時錯誤424要求物件

把所有commondialog改為commondialog1 也就是在所有commondialog後面加個1 有1的就不用再加了 commondialog.action 4 此處顯示錯誤 改為 commondialog1.action 4 如果還是此處顯示錯誤的話,就是你沒在窗體上新增commond...

殺手4血錢執行時出現應用程式錯誤

那可能是你的配置問題殺手4血錢 必須配置 作業系統 microsoft windows 2000 microsoft windows xp 要求管理員許可權 不支援95 98 me nt cpu pentium 4 1.5ghz 或者對應的 athlon xp 記憶體 512mb 顯示卡 相容 di...