一、程序:
需要有用process類
用法一:process.start("calc");(不好用)
該方法弊端:有許多程式不知道它的執行名字到底是什麼,如果寫錯了,就會出現程式崩潰錯誤
用法二:
//例項化程序類
process p = new process();
//建立程序開啟路徑物件
processstartinfo psi = new processstartinfo(textbox1.text);
//程序類開啟路徑指向
p.startinfo = psi;
//啟動程序,不是立刻開啟,什麼時候開啟時由cpu決定
p.start();
二、執行緒:
乙個程式至少有乙個程序,乙個程序至少有乙個執行緒,執行緒不能孤立執行。程序相當於公司,主線程就是老闆,老闆只能同時幹一件活,其它的或就交給員工,員工就是執行緒。
程式為什麼會假死?因為主線程被占用了
總結:執行緒所在的命名空間:system.threading;
執行緒類:thread th = new thread(方法名);
//沒有不要引數的建構函式,常用的為,1個引數,引數型別是委託型別,需要乙個方法指向
變為後台執行緒:
th.isbackground = true;
執行緒啟動:
th.start();
如果要執行帶引數的方法,那麼這個方法的引數必須是object型別,引數傳遞的位置在start方法的括號中
允許跨執行緒訪問物件:
在建構函式的構造方法下面加上:
control.checkforillegalcrossthreadcalls = false;
停止執行緒:
th.abort();
WinForm 程序和執行緒
一 程序 程序是乙個具有獨立功能的程式關於某個資料集合的一次執行活動。它可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體。process 類,用來操作程序。命名空間 using system.diagnostics process.start calc 開啟計算器 process.star...
WinForm 程序和執行緒
程序 程序用到的類process,需要進行解析 using system.diagnostics process.start calc process是非靜態方法,括號裡面是要開啟的程序的名字 靜態方法與非靜態方法區別 靜態方法不用例項化物件,直接可以點出裡面的方法 弊端 有許多程式不知道它的執行名...
WinForm 程序,執行緒
一 程序 程序是乙個具有獨立功能的程式關於某個資料集合的一次執行活動。它可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體。process 類,用來操作程序。命名空間 using system.diagnostics process.start calc 開啟計算器 process.star...