Разбираюсь с потоками, и никак не могу поять. Как запустить поток который будет идти после окончания второго?
Делал и с приоритеностю, и с Join() даже что-то пытлася(но не понял его принцып). Но все равно работает не так как я хочу.
Вообзе задача такая, сделать 3 потока. Где 2й запускает 3й поток в фоне, а 1й потом запускается после завершения 2.
class Program {
static void Main() {
Thread primaryThread = Thread.CurrentThread;
primaryThread.Name = "Thread #1";
Thread secondaryThread = new Thread(RunSecondThread);
secondaryThread.Start();
primaryThread.Priority = ThreadPriority.Lowest;
secondaryThread.Priority = ThreadPriority.Highest;
for (int counter = 0; counter < 5; counter++) {
Console.WriteLine("{0} -> {1}", primaryThread.Name, counter);
Thread.Sleep(200);
}
}
static void RunSecondThread() {
Thread secondaryThread = Thread.CurrentThread;
secondaryThread.Name = "Thread #2";
Thread thirdThread = new Thread(RunThirdThread);
thirdThread.IsBackground = true;
thirdThread.Start();
for (int counter = 0; counter < 5; counter++) {
Console.WriteLine("{0} -> {1}", secondaryThread.Name, counter);
Thread.Sleep(500);
}
}
static void RunThirdThread() {
Thread thirdThread = Thread.CurrentThread;
thirdThread.Name = "Thread #3";
for (int counter = 0; counter < 5; counter++) {
Console.WriteLine("{0} -> {1}", thirdThread.Name, counter);
Thread.Sleep(1000);
}
}
}