Требуется реализовать блокирующую очередь с приоритетами, для асинхронного обмена сообщениями между несколькими потоками «писателей» и «читателей», и тестовое приложение, демонстирующее его функциональность. Класс MessageQueue должен поддерживать механизм HWM/LWM (high water mark/low water mark), приоритеты сообщений, и блокирующий вызов get (вызов блокируется, до появления сообщения в очереди).