委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞。我們平常習慣於把資料作為引數傳遞給方法,當要把方法傳遞給其他方法時,就需要使用委託了。在c#使用類時,分兩個階段。首先需要定義這個類,然後例項化該類的乙個物件,使用委託時也需要經過這個步驟,首先定義要使用的委託,然後建立該委託的乙個或多個例項。
定義委託的語法如下:
delegate void wt(); //定義乙個委託
下面我們就使用委託加執行緒實現乙個簡單的搖獎程式
1.首先在form1窗體上新增乙個lable 控制項 和兩個button控制項 如圖(在這裡我把兩個按鈕重合在一起了)
然後新增如下**
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
using system.threading;
namespace c1
delegate void wt(); //定義乙個委託
thread th; //定義乙個執行緒
private void form1_load(object sender, eventargs e)
private void xsj()
}public void sj()
private void button1_click(object sender, eventargs e)
private void button2_click(object sender, eventargs e)
private void form1_formclosing(object sender, formclosingeventargs e)}}
}
最後效果 如圖(數字每隔0.1秒會變化) 乙個簡單的執行緒池實現
乙個linux下簡單的執行緒池實現 實現了大部分邏輯,有部分邏輯未實現,只是提供乙個思路 執行緒池類 threadpool.h created on oct 13,2016 author luokun ifndef threadpool h define threadpool h include i...
執行緒池(一) 實現乙個簡單的執行緒池
我們知道頻繁的建立 銷毀執行緒是不可取的,為了減少建立和銷毀執行緒的次數,讓每個執行緒可以多次使用,我們就可以使用執行緒池,可以降低資源到的消耗。執行緒池裡面肯定有多個執行緒,那麼我們就簡單的用乙個陣列來儲存執行緒,那我們我們預設裡面有 5 個執行緒。那我們執行緒池裡只有五個執行緒能同時工作,那同時...
解讀並實現乙個簡單的koa router
koa 應用程式是乙個包含一組中介軟體函式的物件,它是按照類似堆疊的方式組織和執行的。這是 koa 對自己的介紹,其他 koa 依賴的庫其實都可以算是中介軟體,koa router 也不例外。ps 本文 中的中文解釋是對 的講解,省略號 代表省略部分 對 koa router 的猜想 通過 koa ...