Hola:
Varios hilos no puedes escribir o leer simultáneamente del mismo socket. Imagina que tienes dos hilos que intentan enviar dos mensajes a la vez por el mismo socket. Si los mensajes son suficientemente grandes o tienes la mala suerte, el socket entremezclará los bytes de ambos mensajes y enviará una cosa ilegible al otro lado.
Para manejar un único socket con varios hilos, habría que sincronizarlos.
Código:
synchronized (elSocket) {
enviarporelsocket o leer del socket.
}
Se bueno.