Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Deu1 Forou1 Rish 14102019
Deu1 Forou1 Rish 14102019
Un solo hilo es básicamente un peso ligero y la unidad de procesamiento más pequeña. Java usa
subprocesos utilizando una “clase de subprocesos”.
Hay dos tipos de subprocesos: subproceso de usuario e hilo de demonio (los subprocesos de daemon se
utilizan cuando queremos limpiar la aplicación y se utilizan en segundo plano).
Cuando una aplicación comienza por primera vez, se crea el hilo de usuario. Publica eso, podemos crear
muchos hilos de usuario e hilos daemon.
El subprocesamiento múltiple en Java es un proceso de ejecución de dos o más subprocesos
simultáneamente para una utilización máxima de la CPU.
Ventajas de subprocesamiento múltiple:
1. Los usuarios no están bloqueados porque los hilos son independientes, y podemos realizar varias
operaciones a veces
2. Como tal, los hilos son independientes, los otros hilos no se verán afectados si un hilo cumple una
excepción.
Implemente un programa que escriba un “hola mundo” por cada hilo de ejecución que se cree (seis
es un número razonable) y que además indique desde que hilo se imprime. Luego haga que cada
uno espere un tiempo proporcional a su identificador antes de imprimir el mensaje (el thread 1, un
segundo, el 2, dos segundos, el 3, tres segundos,…). Lance los threads mediante la clase Thread y
luego mediante el interfaz Runnable ¿Qué diferencias aprecia?
package dau1a2;
/**
*
* @author ROBERTO IVAN SANTIAGO HERNANDEZ
* MATRICULA:= A0123111915
* UNIVERSIDAD DA VINCI
* Desarrollo de Aplicaciones (MSC G9b)
*/
public class MiHilo extends Thread {
int id;
@Override
public void run() {
try {
// thread to sleep for 1000 milliseconds
Thread.sleep(1000 * id);
System.out.println(getName() + " Hola Mundo");
} catch (InterruptedException e) {
System.out.println(e);
}
}
}
package dau1a2;
/**
*
* @author ROBERTO IVAN SANTIAGO HERNANDEZ
* MATRICULA:= A0123111915
* UNIVERSIDAD DA VINCI
* Desarrollo de Aplicaciones (MSC G9b)
*/
public class HolaMundoHilos {
/**
* @param args the command line arguments
*/
public static void main(String[] args){
new MiHilo(1,"H1").start();
new MiHilo(2,"H2").start();
new MiHilo(3,"H3").start();
new MiHilo(4,"H4").start();
new MiHilo(5,"H5").start();
new MiHilo(6,"H6").start();
}
}
Pantalla de Salida:
Aspecto 3:
Resuelve el siguiente ejercicio relacionado con el lenguaje de programación orientada a
objetos:
Given:
1.
2.
3. class MyThread extends Thread {
4. public static void main(String [] args) {
5. MyThread t = new MyThread();
6. Thread x = new Thread(t);
7. x.start();
8. }
9. public void run() {
10. for(int i=0;i<3;++i) {
11. System.out.print(i + "..");
12. }
13. }
14. }
What is the result of this code?
A. Compilation fails
B. 1..2..3..
C. 0..1..2..3..
D. 0..1..2..
E. An exception occurs at runtime
Respuesta es D
Pantalla de Salida
Referencias
spoint, t. (s.f.). tutorial spoint. Recuperado el 14 de Octubre de 2019, de
https://www.tutorialspoint.com/java/lang/thread_sleep_millis.htm
Sznajdleder, I. P. (2013). Java a fondo. En I. P. Sznajdleder, Java a fondo (pág. 456). Buenos Aires: Alfaomega.
Recuperado el 14 de Octubre de 2019, de
https://drive.google.com/file/d/0B3HO4bFukw7QUkJHOGxaS3Q1dnM/view