thread是.net1.0 1.1時出現的
主要了解執行緒等待、**、前後臺執行緒區別
1.例項:
//定義:public delegate void threadstart();
threadstart threadstart = new threadstart(() =>
thread.sleep(5000);
this.dosomethinglong("btnthreads_click");
thread thread = new thread(threadstart);
= true;//變成後台執行緒
thread.start();//預設是前台執行緒,ui執行緒退出後,還會繼續執行完;後台執行緒就直接退出了
2.等待(如果執行緒執行完畢,dosomething())
while (thread.threadstate != system.threading.threadstate.running)
dosomething()
3.獲取執行緒執行後的返回值
///
/// 帶返回值的
///
///
///
///
private functhreadwithreturn(funcfunct)
t t = default(t);
threadstart startnew = new threadstart(
t = funct.invoke();
thread thread = new thread(startnew);
thread.start();
return new func(() =>
thread.join();//執行緒執行完才返回t.(主線程會等待子執行緒完成)
return t;
呼叫方法獲取返回值
funcfunc = this.threadwithreturn(() =>//begininvoke
thread.sleep(2000);
console.writeline($"這裡是threadstart ");
return 12345;
console.writeline("已經執行到這裡了。。。");
int iresult = func.invoke();//endinvoke
4.**
///
/// 基於thread封裝支援**
/// begininvoke的**
///
///
///
private void threadwithcallback(threadstart threadstart, action callback)
threadstart startnew = new threadstart(
threadstart();
callback.invoke();
thread thread = new thread(startnew);
thread.start();
//委託的非同步呼叫 測試:threadwithcallback
this.threadwithcallback(() =>
thread.sleep(2000);
console.writeline($"這裡是threadstart ");
thread.sleep(2000);
console.writeline($"這裡是callback ");
C 學習筆記 使用Thread開啟執行緒
這裡我們用4個案例來演示 情況1 使用thread物件開啟執行緒,執行緒中的方法是無引數無返回值的方法 class program console.writeline static void main string args 情況2 使用lambda表示式寫出情況1 static void main...
Android 執行緒(Thread)使用筆記
android 執行緒 thread 主要用來處理耗時動作。比如長時間接收資料,重新整理ui,等等。寫法1 new thread new runnable catch interruptedexception e start 寫法2 class mythread extends thread pub...
執行緒學習2 Thread類
thread 類 使用thread類可以建立和控制線程,thread類有如下方法 start 啟動執行緒 sleep int 靜態方法,暫停當前執行緒指定的毫秒數 abort 通常使用該方法來終止乙個執行緒 suspend 該方法並不終止未完成的執行緒,它僅僅掛起執行緒,以後還可恢復 resume ...