【C#】线程传递参数

一、无参数线程的创建

 

Thread thread = new Thread(new ThreadStart(getpic));
thread.Start();
private void showmessage()
{
      Console.WriteLine("hello world");
}

 

 

二、1个参数线程的创建

Thread thread = new Thread(new ParameterizedThreadStart(showmessage));
string o = "hello";
thread.Start((object)o);
private static void showmessage(object message)
{
    string temp = (string)message;
    Console.WriteLine(message);
}

注意传递的参数只能是object类型,不过可以进行强制类型转换。

 

三、多个参数线程的创建

public class ThreadTest
{
private string str1;
private string str2;
public ThreadTest(string a, string b)
{
str1 = a;
str2 = b;
}
public void ThreadProc()
{
Console.WriteLine(str1 + str2);
}
}
public class Example {
public static void Main() 
{
ThreadTest tt = new ThreadTest("hello ", "world");
Thread thread = new Thread(new ThreadStart(tt.ThreadProc));
thread.Start();
}
}

将线程执行的方法和参数都封装到一个类里边,通过实例化该类,方法就可以调用属性来传递参数。

posted @ 2022-09-08 17:44  不溯流光  阅读(128)  评论(0编辑  收藏  举报