使用.NET我们可以很容易的创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面介绍几种方法。
1.利用构造函数传递参数
这种方法比较容易理解,我们在实例化线程要启动方法所在类时将方法所需的参数传递给类的构造函数,并将其赋值给类的成员变量,这样在方法中就可以使用该变量了,从而达到将参数传递给方法的目的。
class ThreadParameters
{
public static void Main(string[] args)
{
AnimalShower dog = new AnimalShower("dog");
AnimalShower cat = new AnimalShower("cat");
Thread t1 = new Thread(new ThreadStart(dog.DoShower));
Thread t2 = new Thread(new ThreadStart(cat.DoShower));
t1.Start();
t2.Start();
Console.ReadLine();
}
}
//利用构造函数传递线程参数
public class AnimalShower
{
private string name;
public AnimalShower(string name)
{
this.name = name;
}
public void DoShower()
{ <