ParameterizedThreadStart
中调用的方法是否可以使用多个参数?
class Fungsi
{
public void satu(int a, int b)
{
for (int x = 0; x <= 20; x++)
{
tampil(a, b, '=', x);
b++;
Thread.Sleep(1000);
}
}
}
class Program
{
static void Main(string[] args)
{
Fungsi a = new Fungsi();
Console.CursorVisible = false;
Thread ab = new Thread(new ParameterizedThreadStart(a.satu));
ab.Start(10,1);
Console.ReadLine();
}
}
为什么Thread ab = new Thread(new ParameterizedThreadStart(a.satu));
如何使用ParameterizedThreadStart?
我想用一种方法创建4个多线程
答案 0 :(得分:0)
给出方法
void Worker(string a, int b){}
对于.NET 2.0,您需要使用委托:
ThreadStart start = delegate { Worker("bla", 10); };
Thread t = new Thread(start);
t.Start();
对于以后的.NET版本,您可以使用匿名函数:
Thread t = new Thread(() => Worker("bla", 10));
t.Start();
或者从.NET 4开始,您可以使用TPL任务:
Task t = new TaskFactory().StartNew(() => Worker("bla", 10));