c#中的委託Delegate及線程Thead委託
------------->委託,故名思議就是中間代理人的意思,它實際上是一個類。
它的使用步驟如下:
1.聲明一個委託對象,其參數形式一定要和你想要包含的方法的參數形式一致。
如:delegate void GetDate(string name)
2.定義所有你要定義的方法,其參數形式一定要和委託對象的參數形式一致。
public void ShowEnglishName(string nam)
{
console.write("Hello"+name);
}
public void ShowChinaName(string nam)
{
console.write("你好,"+name);
}
3.創建委託實例對象,并將希望它執行的方法包含在對象中。
GetDate dd=new GetDate(ShowChinaName);
4.通過委託調用包含在它其中的方法。
dd.invoke("楊麗娥");
other: 使用+=是增加委託調用的方法,使用-=是減少委託調用的方法
實際上+=相當於Delegate.Combine, -=相當於Delegate.Remove
------------->Thead委託---------------------------
線程:是CPU調度和分配的單位。
每一個進程都有且只有一個主線程,即Main Thead .它在進程啟動時變創建。在程式中另外定義的線程針對主線程叫子線程。
Thread类的构造函数有2类:
一种是不带参数(ThreadStart 委托) --
public Thread(ThreadStart start);
另一种是带参数(ParameterizedThreadStart 委托) --
public Thread(ParameterizedThreadStart start);
public delegate void ParameterizedThreadStart(Object obj);