- Recursos compartidos por los hilos.
- Estados de un hilo. Cambios de estado.
- Elementos relacionados con la programación de hilos. Librerías y clases.
- Gestión de hilos.
- Sincronización de hilos.
- Compartición de información entre hilos.
- Programación de aplicaciones multihilo.
https://github.com/mememiguelo/PSP/blob/master/EjemploHiloPrioridad1.java
/*
Prioridad entero entre 1 y 10
1 mínima -->MIN_PRIORITY
5 medio --> NORM_PRIORITY
10 máxima --> MAX_PRIORITY
2 hilos igual prioridad round-robbin
*/
class HiloPrioridad1 extends Thread {
//propiedades
private int c=0; //vble contador
private boolean stopHilo=false; //boolean parar contador hilo
public int getContador(){
return c;
}
public void pararHilo(){
stopHilo=true;
}
public void run(){
while (!stopHilo) c++;
}
}
- http://www.javatpoint.com/interrupting-a-thread
- https://compiler.javatpoint.com/opr/test.jsp?filename=TestInterruptingThread1
public class HiloEjemploInterrup extends Thread {
public void run() {
try {
while (!isInterrupted()) {
System.out.println("En el hilo");
Thread.sleep(100);
}
} catch (InterruptedException e) {
System.out.println("Ha ocurrido una excepción");
}
System.out.println("Fin de hilo");
}
public void interrumpir() {
interrupt();
}
public static void main(String[] args) {
HiloEjemploInterrup h = new HiloEjemploInterrup();
h.start();
for(int i=0;i<1000000;i++){}
h.interrumpir();
}
}
public class HiloEjemploInterrup extends Thread {
public void run() {
try {
while (!isInterrupted()) {
System.out.println("En el hilo");
Thread.sleep(100);
}
} catch (InterruptedException e) {
System.out.println(e);
}
System.out.println("Fin de hilo");
}
public void interrumpir() {
interrupt();
}
public static void main(String[] args) {
HiloEjemploInterrup h = new HiloEjemploInterrup();
h.start();
for(int i=0;i<1000000;i++){}
h.interrumpir();
}
}