Esempio n. 1
0
 volatile Mutex[] _locks;                               //массив блокировок
 public RefinableHashSet(int capacity) : base(capacity) //вызываем конструктор базового класса
 {
     _locks = new Mutex[capacity];                      //инициализируем список блокировок в размере вместимости
     for (int i = 0; i < capacity; i++)
     {
         _locks[i] = new Mutex();                                //для каждого бакета инициализируем свой мьютекс (на начальном этапе)
     }
     _owner = new AtomicMarkableReference <Thread>(null, false); //никто не меняет размер, поэтому владелец null
 }
 public RefinableHashSet(int capacity) : base(capacity)
 {
     _locks = new Mutex[capacity];
     for (int i = 0; i < capacity; i++)
     {
         _locks[i] = new Mutex();
     }
     _owner = new AtomicMarkableReference <Thread>(null, false);
 }