[SOLUCIONADO] Preguntas Multithread

Iniciado por Slider324, Junio 29, 2013, 02:15:54 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 29, 2013, 02:15:54 PM Ultima modificación: Agosto 22, 2013, 11:44:45 AM por Expermicid
Hola e aprendido java viendo videos y leyendo pero siempre aqui es donde me quedan las dudas, en java existe synchronize para poder hacer que los thread trabajen sincronizadamente pero mi pregunta es supongamos que tengo 2 lista una de nombres y otra de apellidos algo asi.

Código: php
ArrayList <String> nombres;
ArrayList <String> apellidos;


Bien aqui ya tengo los nombres y los apellidos ahora como puedo hacer que java conforne los recorra por ejemplo con un while cada thread tome el siguiente nombre apellido ejemplo:

Código: php
Thread 1 Panchito Perez;
Thread 2 Juan Lopez,
Thread 3 Pancho Pantera,
etc..


ya que cuando le intento ami me pasa esto:

Código: php
Thread 1 Panchito Perez;
Thread 2 Panchito Perez;
Thread 3 Panchito Perez;


Siempre cada thread me inicia desde el 0 alguien me podria poner un ejemplo de algo como esto por favor siempre me quedo en esta parte con multihilos :( y no paso de aqui.

Julio 07, 2013, 11:19:45 PM #1 Ultima modificación: Julio 07, 2013, 11:24:11 PM por ~ Yoya ~
Cuando se trabaja con 2 o mas thread y todos los thread trabajan con una misma instancia, puede ser que llegue un momento que un thread modifique el estado de un objeto y luego otro modifique el estado de ese objeto antes de que el primer Thread termine su ejecucion y por lo tanto esto puede causar grandes errores, por eso se utiliza  synchronized para evitar que otro thread acceda al objeto hasta que el que esta utilizando el objeto termine.

Por lo tanto, tienes una idea mal formada por eso el error, mostrar el source que utilizaste para tu ejemplo seria un buen paso xD.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

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 :D, gracias por el enlace no conocia esa web :D