E / S em programa simultâneo

Estou trabalhando em um programa concorrente; possui dois threads, um dos quais escuta mensagens de um servidor e o outro envia mensagens para ele. Preciso obter comandos do usuário (usando cin?) E mostrar mensagens vindas do servidor, ao mesmo tempo.

Como posso lidar com essa situação? O problema é que, se eu estiver lendo um comando do usuário quando uma mensagem chegar, a entrada do usuário será alterada com outras coisas.

desde já, obrigado

questionAnswers(2)

yourAnswerToTheQuestion