¿Cómo implementar un canal full duplex a través de TCP con un solo hilo?
La lib de red que estoy escribiendo necesita enviar y recibir mensajes a través de un socket TCP. Los mensajes se pueden enviar o recibir en cualquier momento, es decir, deberían funcionar como un canal dúplex completo.
Pude implementar tal escenario usando dos hilos: hilo principal que llama a send () y un hilo dedicado bloqueado principalmente en la llamada recv ().
Mi pregunta es: ¿es posible implementar el mismo escenario con un solo hilo? Es decir. registrando alguna función de devolución de llamada?
Como nota al margen: necesito implementar este escenario en C ++, Java y Python.