public Room GetRoom() { Room room; lock (FreeRooms) { room = FreeRooms.Any() ? FreeRooms.Dequeue() : null; } if (room != null) { lock (UsingRooms) { UsingRooms.Add(room); } } return(room); }
public void FreeRoom(Room room) { lock (UsingRooms) { UsingRooms.Remove(room); } lock (FreeRooms) { FreeRooms.Enqueue(room); } }