2015-10-14 118 views
0

enter image description here你好我想問的是有沒有辦法創建一個新的線程來啓動函數並向它發送信息。 類似我需要發送的信息加入線程或類似的東西。用線程啓動一個新的函數

這是我的意思是:

private Thread T1; 
private Thread T2; 

public void Start() 
{ 
    string NaMES = "DEMO"; 
    int AGE = Convert.ToInt32("44"); 

    T1 = new Thread(Here(NaMES, AGE)); 
    T1.Start(); 
} 

public object Here(string NAME, int AGE) 
{ 
    MessageBox.Show(NAME + AGE); 
    return null; 
} 
+2

你的問題還不清楚。請嘗試指定你已經嘗試了什麼,什麼不工作。 –

+0

你知道你的代碼不能編譯? – Enigmativity

+0

線程有一個新的ParameterizedThreadStart或類似的東西,你可以傳遞一個對象作爲參數:) – Icepickle

回答

3

Thread有一個重載的構造函數,可以讓你通過一個單一的參數,所以你可以創建一個包含所有由你的線程代表所需的數據的對象。

,不過也許簡單就是隻使用一個lambda創建一個圍繞你的自動變量closure

T1 = new Thread(() => Here(NaMES, AGE)); 
+0

以及如何將其發送到一個功能 – KenTavur

+0

我不確定你的意思。 lambda變成你的沒有參數的線程函數('()=>'位)。你的'Here()'函數現在只是lambda調用的東西。 – GazTheDestroyer

+0

我只是運行代碼,但沒有任何工作?任何其他想法 – KenTavur