¿Cual es la idea exactamente del programa? Ese "while(true)" sin condicicion de salida tiene muy mala pinta

. ¿Hay alguna forma de que el Vector de clientes encoja o solo tiene opcion de crecer "ad infinitum"? ¿Que hace exactamente el metodo recibirmsj? ¿Se bloquea de alguna forma?
Así por encima, el bucle infinito, el usar un bucle con el tamaño del vector y el que ambos Threads accedan al Vector sin ningun tipo de sincronización son puntos que me preocuparían bastante.
S!