Fila fifo multithreaded de um único leitor e gravador único

Eu preciso de uma fila para passar mensagens de um thread (A) para outro (B), no entanto ive não foi capaz de encontrar um que realmente faz o que eu quero, pois geralmente permitem adicionar um item a falhar, um caso que na minha situação é praticamente fatal, já que a mensagem precisa ser processada, e o encadeamento realmente não pode parar e esperar por um espaço livre.

Apenas o thread A adiciona itens e somente o encadeamento B os lêO encadeamento A nunca deve ser bloqueado, mas o encadeamento B não é crítico para o desempenho, portanto, ele podeA adição de itens deve sempre ser bem-sucedida, portanto, a fila não pode ter um limite de tamanho superior (menor que a falta de memória no sistema)Se a fila estiver vazia, o encadeamento B deve esperar até que haja um item para processar

questionAnswers(4)

yourAnswerToTheQuestion