Foros del Web » Programación para mayores de 30 ;) » Java »

Hilos en java

Estas en el tema de Hilos en java en el foro de Java en Foros del Web. Hola a todos xicos Tengo una practica que hacer con java y no tengo muxa idea , el caso es que tengo que escribir el ...
  #1 (permalink)  
Antiguo 18/01/2011, 17:58
 
Fecha de Ingreso: mayo-2008
Mensajes: 124
Antigüedad: 15 años, 11 meses
Puntos: 0
Hilos en java

Hola a todos xicos

Tengo una practica que hacer con java y no tengo muxa idea , el caso es que tengo que escribir el abecedario a traves de hilos, mitad uno hilo y la otra mitad el otro hilo y he provado de todo pero el cabron se resiste
haber si me podeis ayudar gracias de antemano

Os dejo el codigo de lo que he exo :

public class HiloTest {
public static void main(String [ ] args){
Hilo MiHilo1 = new Hilo();
Hilo MiHilo2 = new Hilo();
MiHilo1.start();

MiHilo2.start();
}
}

public class Hilo extends Thread{
public int i ;
public char Letra = 'A';
@Override
public synchronized void run(){
for(i=1;i<=13;i++){
System.out.println("letra "+ Letra);
Letra++;
}
System.out.println("-------------");
}
}
  #2 (permalink)  
Antiguo 19/01/2011, 03:07
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Hilos en java

¿Te has parado a analizar lo que estás haciendo en ese código y por qué no te funciona?

1º Te faltan las letras que completan el resto del abecedario. La aplicación no es adivina y necesita que esas letras estén en algún lado. Así que debes definirlo al completo en una lista. Luego mira si el número de letras es par o no.

2º Para el hilo debes ir escribiendo los elementos contenidos en esa lista, pero cuando entre en el segundo hilo debe reconocer también en qué elemento te quedaste en el primer hilo para retomar ahí la cuenta.

Espero que te pueda servir como guía.
  #3 (permalink)  
Antiguo 19/01/2011, 05:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 124
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Hilos en java

lo de las letras lo sulucionaria aumentando el indice del bucle que serian 26 pero como hago para que se pare en la mitad y q el segundo hilo continue el trabajo desde dnd lo dejo el otro ?????
  #4 (permalink)  
Antiguo 19/01/2011, 06:12
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Hilos en java

Pues ...

Para este caso concreto tienes como alternativa crearía una variable global boolean en false que indique si ha finalizado la primera mitad del alfabeto, y en el primer tread, antes de que finalice se marca el boolean a true.

Los hilos verificarían si está true o false. Si es false se escribirian las letras desde i = 0 a la mitad de los elementos de la lista, y si es true pues desde la mitad hasta el final.

Otra opción que se me ocurre es tener el int de recorrido como global, si es 0 el primero que recorra hasta la mitad de los elementos y fije el valor de ese int, y si el int tiene valor distinto de 0 pues que vaya desde ese valor hasta el final de la lista.

Suerte
  #5 (permalink)  
Antiguo 19/01/2011, 06:16
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Hilos en java

Bueno, revisando un poco igual esto te solventa el problema

http://www.dlsi.ua.es/~abia/PC/mater...va/cap10-6.htm

Etiquetas: hilos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:08.