主線程和子執行緒的區別
每個執行緒都有乙個唯一標示符,來區分執行緒中的主次關係的說法。
執行緒唯一標示符:thread.currentthread.managedthreadid;
ui介面和main函式均為主執行緒。
被thread包含的「方法體」或者「委託」均為子執行緒。
委託可以包含多個方法體,利用this.invoke去執行。
也可以定義多種方法體,放在thread裡面去執行。則此方法體均為子執行緒。注意如果要修改ui介面的顯示。則需要使用this.invoke,否則會報異常。
main函式為主執行緒,id標示符與ui介面主線程相等
public delegate void dele();
public partial class form1 : form
thread thread;
private void getbtu_click(object sender, eventargs e)//ui控制項屬於主線程
));thread.isbackground = true;
thread.start();
}public void kk()//委託中的方法 委託方法三
));}
public void gg()//委託中的方法 委託方法二
));}
public void getlabel()//委託中的方法 委託方法一
));console.writeline(i);
}messagebox.show("顯示完成");
}private void sleepbtu_click(object sender, eventargs e)//ui控制項屬於主線程
}catch (exception r)
}private void setbtu_click(object sender, eventargs e)//ui控制項屬於主線程
}catch (exception r)
}public void getlabel_click(object sender, eventargs e)
}---------------------
原文:
總結:
1. 什麼是子執行緒?
包含在 thread thread = new thread(new threadstart(delegate));裡面均視為子執行緒。(個人理解)
2. 什麼是主線程?
ui介面和main函式均為主執行緒,除了「不包含在thread裡面的程式」均可 視為主線程。
原文:
主線程和子執行緒的區別
每個執行緒都有乙個唯一標示符,來區分執行緒中的主次關係的說法。執行緒唯一標示符 thread.currentthread.managedthreadid public delegate void dele public partial class form1 form thread thread p...
主線程和子執行緒的區別
執行緒唯一標示符 thread.currentthread.managedthreadid public delegate void dele public partial class form1 form thread thread private void getbtu click object...
主線程和子執行緒的區別
執行緒唯一標示符 thread.currentthread.managedthreadid public delegate void dele public partial class form1 form thread thread private void getbtu click object...