コード例 #1
0
        public Room GetRoom()
        {
            Room room;

            lock (FreeRooms)
            {
                room = FreeRooms.Any() ? FreeRooms.Dequeue() : null;
            }

            if (room != null)
            {
                lock (UsingRooms) { UsingRooms.Add(room); }
            }

            return(room);
        }
コード例 #2
0
        public void FreeRoom(Room room)
        {
            lock (UsingRooms) { UsingRooms.Remove(room); }

            lock (FreeRooms) { FreeRooms.Enqueue(room); }
        }