Gracias por responder amigo por fin pude solucionar esto, estos fueron los pasos que use, buscando y buscando solo me confundia mas asi que no me quedo de otra que intentar a prueba y error, entonces lo primero que hice fue almacenarlos en un list y en el poniendole Collections.synchronizedList(new ArrayList()); ya que encontre varios ejemplos que ponian esto, despues con un for mande los datos de list a un iterator y en la funcion que llama a cada uno agrege synchronized y con un metodo pasaba uno por uno de la lista y ya despues se los mandaba al metodo con synchronized y porfin me funciono
, gracias por el enlace no conocia esa web

