public void Block () { lock (lockObj) { blocked = true; block.Reset(); } }
private int Lock(bool block) { queue.Block(); if (block) { while (!queue.AllReceiversBlocked) { if (IsUsingMultithreading) { Thread.Sleep(1); } else { TickNonMultithreaded(); } } } nextLockID++; locks.Add(nextLockID); return(nextLockID); }