我在我的程序中有三個線程,我希望當線程完成時它表示線程2啓動,當線程2完成時它應該指示線程3啓動。如何在C#線程中使用等待句柄?
我該怎麼做到這一點,我知道在C#中有這樣的等待句柄,但我不知道如何使用它們?
以下是我的程序的代碼:
class Program
{
static void Main(string[] args)
{
Thread t1 = new Thread(Task1);
Thread t2 = new Thread(Task2);
Thread t3 = new Thread(Task3);
t1.Start();
t2.Start();
t3.Start();
Console.Read();
}
public static void Task1()
{
Console.WriteLine("I am assigned task 1:");
for (int i = 0; i < 50; i++)
{
Console.WriteLine("Task1");
}
}
public static void Task2()
{
Console.WriteLine("I am assigned task 2:");
for (int i = 0; i < 50; i++)
{
Console.WriteLine("Task2");
}
}
public static void Task3()
{
Console.WriteLine("I am assigned task 3:");
for (int i = 0; i < 50; i++)
{
Console.WriteLine("Task3");
}
}
}
你可以在't1.Start'中傳遞't2'作爲參數,然後在'Task1'結尾使用你得到的參數調用't2.Start()'。爲此,請改用[ParameterizedThreadStart](http://msdn.microsoft.com/zh-cn/library/system.threading.parameterizedthreadstart.aspx)。 – 2011-04-04 13:14:47