Как использовать оператор lock в статических методах - C#
Формулировка задачи:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Thread[] t = new Thread[2];
t[0] = new Thread(new ParameterizedThreadStart(Add));
t[1] = new Thread(new ParameterizedThreadStart(Add));
t[0].Start(null);
t[1].Start(null);
}
public static void Add(object o)
{
for (int i = 1; i < 4; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
}
}
}Решение задачи: «Как использовать оператор lock в статических методах»
textual
Листинг программы
using System;
using System.Threading;
namespace ConsoleApplication6
{
class Program
{
static object locker = new object();
static void Main(string[] args)
{
Thread[] t = new Thread[2];
t[0] = new Thread(new ParameterizedThreadStart(Add));
t[1] = new Thread(new ParameterizedThreadStart(Add));
t[0].Start(null);
t[1].Start(null);
}
public static void Add(object o)
{
lock (locker)
{
for (int i = 1; i < 4; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
}
}
}
}