}
}
// Использовать метод Join() для ожидания до тех пор,
// пока потоки не завершатся, class JoinThreads { static void Main() {
Console.WriteLine('Основной поток начат.');
// Сконструировать три потока.
mtl.Thrd.Join();
Console.WriteLine('Потомок #1 присоединен.'); mt2.Thrd.Join();
Console.WriteLine('Потомок #2 присоединен.'); mt3.Thrd.Join();
Console.WriteLine('Потомок #3 присоединен.');
Console.WriteLine('Основной поток завершен.');
}
}
Ниже приведен один из возможных результатов выполнения этой программы. Напомним, что он может отличаться в зависимости от среды выполнения, операционной системы и прочих факторов, влияющих на выполнение программы.
Основной поток начат.
Потомок #1 начат. •
Потомок #2 начат.
Потомок #3 начат.
в
потоке
Потомок
#3,
Count
=
3
в
потоке
Потомок
#1,
Count
=
4
в
потоке
Потомок
#2,
Count
=
4
в
потоке
Потомок
#3,
Count
=
4
в
потоке
Потомок
#1,
Count
=
5
в
потоке
Потомок
#2,
Count
=
5
в
потоке
Потомок
#3,
Count
=
5
в
потоке
Потомок
#1,
Count
=
6
в
потоке
Потомок
#2,
Count
=
6
в
потоке
Потомок
#3,
Count
=
6
в
потоке
Потомок
#1,
Count
=
7
в
потоке
Потомок
#2,
Count
=
7
в
потоке
Потомок
#3,
Count
=
7
в
потоке
Потомок
#1/
Count
=
8
в
потоке
Потомок
#2,
Count
=
8
в
потоке
Потомок
#3,
Count
=
8
в
потоке
Потомок
#1/
Count
=
9
Потомок #1 завершен.
В
потоке
Потомок
