Exemple #1
0
 public void AddReader(Reader r)
 {
     lock (singletoneLocker)// Запрещаем другим потокам добавлять(удалять) читателей пока мы с ними работаем
     {
         readers.Add(r);
     }
 }
Exemple #2
0
        static void Main(string[] args)
        {
            Manager m = Manager.Instance;// находим (создаём) менеджера

            int i = 0;
            for (i = 0; i < 10; i++)
            {
                Reader r = new Reader(m, i);// Создаём читателя
                m.AddReader(r);// и добавляем его в менеджер
            }

            i = 0;
            while (true)
            {
                System.Threading.Thread.Sleep(0);// Даём читателям возможность почитать
                m.Write(i.ToString());//пишем
                i++;

            }
        }