Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2015, 19:18
Stelio_Kontos
 
Fecha de Ingreso: diciembre-2015
Mensajes: 3
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Pausar y reanudar hilos.

Tengo un programa que genera un número aleatorio y se introduce el número de jugadores y ese número de jugadores son el número de hilos y cada jugador genera un número aleatorio hasta encontrar ese número aleatorio del principio.

Lo que necesito y no sé muy bien como hacerlo es que cada jugador me muestre un resultado y pase al siguiente y así sucesivamente y si un jugador encuentra el número aleatorio que pare, pero que los demás sigan buscándolo.

Tal y como lo tengo yo hasta que no acaba con el jugador uno no pasa al siguiente jugador...

No sé si me he explicado muy bien...

Código PHP:
package hilos_java;
import java.lang.Math;
import java.util.ArrayList;
import java.util.Scanner;


public class 
hilos_1 extends Thread{
    static 
Scanner teclado = new Scanner(System.in);
    static 
int numeroJugadores;
    static 
int numeroRandomFinal = (int) (Math.random()*100);;
    
int numeroRandomJugador;
    
int intentos;
    
int a;
    
int re=0;

    
    public static 
void main(String[] argsthrows InterruptedException {           
                
           
System.out.println("Número generado: " numeroRandomFinal);
           
System.out.print("Número de jugadores: ");
           
numeroJugadores teclado.nextInt();
           
System.out.print("\n");
           
hilos_1 hilos = new hilos_1();
            
Thread[] Hil = new Thread[numeroJugadores];
               for (
int i 0Hil.lengthi++){
                   
System.out.println("***** Jugador-"+(i+1)+" *****");
                   
Hil[i] = new Thread(hilos);           
                   
Hil[i].start();
                   
Hil[i].join();            
               }
               
        }
//main
    
    
    
    
public void run() {
        
ArrayList<IntegernumeroRepeticion = new ArrayList<Integer>();
        
            try {              
                    for (
a=0a!=numeroRandomFinal;){
                        
=  (int) (Math.random()*100);
                        
                        while (
numeroRepeticion.contains(a)){
                            
=  (int) (Math.random()*100);
                        }        
                    
numeroRepeticion.add(a);

                            
intentos++;
         
                        
System.out.println("Intentos: " intentos " Numero:" a);
                        
                        
sleep(10);                      

                    
                    }
//for                    

                    
if(== numeroRandomFinal){                         
                        
System.out.println("\nEl jugador " currentThread().getName() + " ha acertado el número.");
                        
System.out.println("Numero de intentos: " intentos "\n");
                        
intentos 0;
                            
//sleep(1000);                    
                    
}
                                            
                } catch (
InterruptedException e) {
                   
e.printStackTrace();
               }            
       }
//run                      
    
}//class