首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Visual C# 多執行緒參數傳遞淺析 (1)

     編輯:關於C語言

測試類別:MyClass

public class MyClass
{
    private string _parameter;
    public MyClass(string parameter) { _parameter = parameter; }
    public MyClass() { }

    public void MyMethod1() { if (_parameter != null) Console.Write(_parameter); }

    private void MyMethod2(string parameter) { Console.Write(parameter); }
    public void MyMethod2(object parameter) { MyMethod2((string)parameter); }

    public string MyMethod3(string parameter) { return "參數值為:" + parameter; }
    public string MyMutilParameters(string p1, string p2) { return "參數1和參數2連接結果為:" + p1 + p2; }
}

方法一:透過建構函式傳遞參數

在建構函式存入參數,執行緒呼叫無參數方法:

private string myParameter = "ParameterValue\n";

private void button1_Click(object sender, EventArgs e)
{
    MyClass instance = new MyClass(myParameter);
    new Thread(new ThreadStart(instance.MyMethod1)).Start();
}

缺點:破壞封裝,需額外欄位儲存參數。

後續文章將介紹 ParameterizedThreadStart、委托包裝等更優雅的做法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved