Para eso están los mecanismos de sincronizacion. Una forma de hacerlo en este caso sería:
.- La instancia de la clase padre le pasa al Thread una referencia a si misma, no el Vector.
.- La clase padre tiene un metodo para añadir clientes, internamente se lo añade al vector.
.- La clase padre tendra un metodo para leer los clientes
.- Los dos ultimos metodos deben sincronizarse para que no manipulen el Vector a la vez, usando synchronised nombreMetodo o un bloque synchronise().
Y listo.
http://java.sun.com/docs/books/tutor...l/concurrency/