學習筆記 執行緒 Thread

2022-03-26 05:27:27 字數 1815 閱讀 2026

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