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...