Многопоточная одиночная читательская очередь fifo

Мне нужна очередь для передачи сообщений из одного потока (A) в другой (B), однако я не смог найти тот, который действительно делает то, что я хочу, так как они обычно позволяют добавить элемент, чтобы потерпеть неудачу, случай, который в моей ситуации в значительной степени фатально, так как сообщение должно быть обработано, и поток действительно не может остановиться и ждать свободного места.

Только поток A добавляет элементы, и только поток B читает ихПоток A никогда не должен блокироваться, однако поток B не является критичным для производительности, поэтому он можетДобавление элементов всегда должно выполняться успешно, поэтому очередь не может иметь верхнего предела размера (за исключением нехватки памяти в системе)Если очередь пуста, поток B должен подождать, пока не появится элемент для обработки

Ответы на вопрос(4)

Ваш ответ на вопрос