Как сделать, чтобы один поток не закончил работу, пока второй работает? - C#
Формулировка задачи:
Подскажите, есть например 2 потока, которые ну например отсчитывают в цикле до 100. Как сделать чтоб один не закончил работу пока второй работает. Можно сделать через isAlive но тогда один из них не будет завершать работу полностью, то есть будет что-то вроде
thread 1:0
thread 2:0
thread 2:1
thread 2:2
.
.
.thread 2:10
thread 1:1
и всё, а нужно чтоб поток 1 закончил работу и досчитал до 10.
Заранее благодарю=)
Решение задачи: «Как сделать, чтобы один поток не закончил работу, пока второй работает?»
textual
Листинг программы
using System; using System.Threading; using System.Threading.Tasks; namespace alexandro12 { class Program { static void Main(string[] args) { var task1 = Task.Factory.StartNew(() => Func("task1")); var task2 = Task.Factory.StartNew(() => Func("task2")); Task.WaitAll(task1, task2); } public static void Func(string name) { for (int i = 1; i <= 10; i++) { Console.WriteLine(string.Format("{0} {1}", name, i)); Thread.Sleep(500); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д