關於多執行緒輸入引數和返回值的幾種情況

2021-07-03 18:16:16 字數 854 閱讀 4801

新建乙個執行緒(無引數,無返回值)

thread th = new thread(new threadstart(printname)); 

public

void printname()    // 函式

這裡一定注意threadstart中的函式是沒有返回值和引數的

那麼有引數時,就該如下:

thread th = new thread(new parameterizedthreadstart(printname)); 

public

void

printname(string name)    

// 函式

如果遇到又需要返回值,又需要引數的時候,就可以考慮用非同步:

但是需要先申明個委託

public

delegate

string methodcaller(string name);//定義個**

methodcaller mc = new methodcaller(getname); 

string name = "my name";//輸入引數

iasyncresult result = mc.begininvoke(name,null, null); 

string myname = mc.endinvoke(result);//用於接收返回值

public

string

getname(string name)    

// 函式

這裡注意了,通過這種方式生成新執行緒是執行在後台的(background),優先順序為normal

多執行緒返回值

多執行緒返回值,避免阻塞提高效率。public class callabledemo1implements callable system.out.println callabledemo1 end system.out.println thread1test.ct thread1test.ct.c...

多執行緒處理返回值

說了很多廢話,只是希望自己警醒,希望認同上述觀點的人同樣能感受到那些每天看凌晨三點太陽的人的壓力,其他不認同的人大概可以跳過直接看下面的內容。本文要寫的內容是關於執行緒,工作中有些寫業務 的開發這塊用得比較少,但是面試時面試官總喜歡問多執行緒相關問題,例如下面這些 1 什麼是執行緒 2 怎麼樣實現多...

C 多執行緒函式如何傳引數和返回值

詳見例子 bvbus.com c 多執行緒函式如何傳引數和返回值 提起多執行緒,不得不提起 委託 delegates 這個概念.我理解的委託就是 具有 同樣引數和返回值 的函式的集合.比如public delegate void mydelegate int arg 就是這種形式的函式 void m...