Каждая нить поочередно формирует и печатает три числа a, b и c - C#
Формулировка задачи:
Синхронизировать три нити одного процесса с помощью оператор lock. Каждая нить поочередно формирует и печатает три числа a, b и c. Числа первой нити формируются в диапазоне от 10 до 19, второй нити – от 20 до 29 и третьей нити – от 30 до 39. Печать чисел каждой нитью производится по диагонали сверху вниз и слева направо (печать каждой нити занимает три строки) в продолжение печати предыдущей нити
Решение задачи: «Каждая нить поочередно формирует и печатает три числа a, b и c»
textual
Листинг программы
using System;
using System.Linq;
using System.Threading;
class Program
{
private static object locker = new object();
public static void ThreadFunction(object n)
{
lock (locker)
{
Console.WriteLine(String.Join(", ", Enumerable.Range((int)n, 10)));
}
}
public static void Main()
{
for (int i = 10; i <= 30; i += 10)
{
new Thread(ThreadFunction).Start((object)i);
}
}
}