using System.Collections.Generic;
private static int _readersCount = 5;
private static int _writersCount = 2;
private static int _count = 100;
public static void Main()
List<int> container = new List<int>();
Fire(readerWorker,writerWorker,container);
public static void readerWorker(List<int> container)
var str = string.Join(",",container.ToArray());
Console.WriteLine("Read items: " + str);
public static void writerWorker(List<int> container)
var element = Environment.TickCount;
Console.WriteLine("Item added: " + element);
public static void Fire(Action<List<int>> reader, Action<List<int>> writer,List<int> container)
for (int i = 0; i < _count; i++)
for (int i = 0; i < _count; i++)
foreach (var thread in threads)
foreach (var thread in threads)