接觸c#和vs也差不多五個月了,其實也還是個小白,關於執行緒的用法其實在網上找又一大堆,無形參無返回,無形參有返回,有形參無返回,有形參有返回的四種情況,簡單的總結一下我使用過的方法吧~
1.無形參無返回
thread thread = new thread(dowork);
thread.start();
2.無形參有返回
(這裡的栗子是,dothread返回乙個bool值)
public delegate bool mydelegate();//根據dothread的返回型別宣告乙個委託
private void delegatethread()
private void dothread()
3.有形參無返回
control.checkforillegalcrossthreadcalls = false;
threadstart starter = delegate ;//parameter就是填入的引數
thread thread= new thread(new threadstart(starter));
thread.isbackground = true;
thread.start();
4.有形參有返回
(這裡的栗子是,dothread乙個int型的形參是,返回乙個int值)
其實跟2.無形參有返回 差不多,都是用乙個委託函式包起來。還有可以用乙個類,把你的方法和成員變數包起來用也是一樣可以的。我這裡就說一種方法吧。
public delegate int mydelegate(int a);
static void main(string args)
private static void delegatethread()
private static int dowork(int num)
其實每種情況都有多種實現的方法,這裡就只介紹下我用過的,可能有些欠缺的地方,歡迎指點~ C 開啟執行緒的四種方式
1.非同步委託開啟執行緒 public class program static void add int a,int b 2.通過thread類開啟執行緒 public class program 奇數執行緒 public static void setinfo1 偶數執行緒 public sta...
C 開啟非同步 執行緒的四種方式
一 非同步委託開啟執行緒public static void main string args actiona add a.begininvoke 3,4,null,null 前兩個是add方法的引數,後兩個可以為空 console.writeline main console.readkey st...
C 開啟非同步 執行緒的四種方式
一 非同步委託開啟執行緒public static void main string args actiona add a.begininvoke 3,4,null,null 前兩個是add方法的引數,後兩個可以為空 console.writeline main console.readkey st...