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

Hebras o threads

Estas en el tema de Hebras o threads en el foro de Java en Foros del Web. He leído un tutorial en la pagina de Sun y algo más en un libro que tengo pero no me queda claro. Suponiendo que tengo ...
  #1 (permalink)  
Antiguo 18/07/2008, 11:35
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Hebras o threads

He leído un tutorial en la pagina de Sun y algo más en un libro que tengo pero no me queda claro.
Suponiendo que tengo 2 threads, mando a uno interrumpirse con Thread.sleep(1000) por ejemplo.

Entonces el otro toma el control, pero por cuanto tiempo? se ejecuta durante un segundo y luego se lanza una InterruptedException automáticamente contra el proceso activo?
Y si el proceso activo termina sus tareas antes de un segundo qué ocurre en este tiempo?


Gracias :)
  #2 (permalink)  
Antiguo 18/07/2008, 13:38
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Hebras o threads

Hola:

El tiempo que se ejecuta cada thread lo decide el sistema operativo. Normalmente el sistema operativo cambia de un thread a otro con suficiente rapidez como parezca que todos ellos se ejecutan a la vez.

Si uno de los thread se duerme con sleep() o con cualquier otro método, el sistema operativo sabe que ese thread está dormido (en tu caso durante un segundo), así que durante un segundo no se ejecutará nada de ese thread y el sistema operativo le dará el control al otro. Cuando el thread despierte (porque pasa el segundo), el sistema operativo vuelve a repartir el tiempo de ejecución entre los dos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/07/2008, 15:00
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Hebras o threads

Genial. Puede parecer una chorrada, pero en esos tutoriales se esfuerzan en explicar un montón de cosas menos el comportamiento básico.

Gracias
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 05:03.