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

Ayuda metodo wait() en java

Estas en el tema de Ayuda metodo wait() en java en el foro de Java en Foros del Web. Hola, tengo que hacer un programa el cual simule una computadora de doble procesador utilizando hilos y semaforos. El programa genera los procesos y mientras ...
  #1 (permalink)  
Antiguo 20/03/2008, 21:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación Ayuda metodo wait() en java

Hola, tengo que hacer un programa el cual simule una computadora de doble procesador utilizando hilos y semaforos. El programa genera los procesos y mientras uno se este ejecutando, los nuevos que se generan tienen que esperar a que acabe el primero para despues ejecutarse y asi susecivamente. Para que cada proceso espere utilizo el metodo wait(). el problema es que tengo que mostrar en la salida de cada proceso su tiempo de ejecucion total que es el tiempo de ejecucion que se tomo el proceso mas el tiempo que espero(si es que espero) para ejecutarse, el problema es encontrar este ultimo. Si alguien puede ayudar a como encontrar el tiempo de espera del metodo wait() se los agradeceria mucho.

saludos y gracias.

Última edición por miki908; 20/03/2008 a las 21:49 Razón: corregir titulo
  #2 (permalink)  
Antiguo 20/03/2008, 21:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 51
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: http://www.forosdelweb.com/images/icons/icon4.gif Ayuda metodo wait() en java

Se me ocurre también pueda usar un synchronized. Con esto consigue lo que es la teoria de Sistemas Operativos se conoce como REGION CRITICA. Donde un solo proceso puede acceder a un recurso, teniendo que esperar los demás procesos a que el primero salga de la región crítica.

Por otro lado el tiempo total de ejecucion de un proceso puede hacer sumando el tiempo total de ejecución del proceso que le antecede MÁS el tiempo que se ejecuto el proceso actual.

saludos!!
  #3 (permalink)  
Antiguo 21/03/2008, 01:03
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Ayuda metodo wait() en java

Hola:

Para esperar por otrohilo, puedes llamar a otrohilo.join(), de esta forma esperas que el otro hilo termine. wait() es más bien para esperar no a que un hilo termine, sino a que un recurso esté disponible.

En cualquier caso, para medir el tiempo de espera, puedes hacer algo como esto

long t1 = System.nanoTime();
otroHilo.join();
long t2 = System.nanoTime();
long tiempoEspera = t2-t1;

Usa nanoTime o currentTimeMillis(), el que te venga mejor.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
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 22:16.