http://www.librosgratis.org
La liebre y la tortuga (y el guepardo) Java dispone de un mecanismo de prioridades para los threads, de modo de poder asignar más tiempo de CPU a un thread que a otro. Típicamente se asigna una prioridad de 1 a 10 (10 es la mayor prioridad) mediante setPriority, como en el ejemplo que sigue: public class Ejemplo21 { static Animal static Animal static Animal
tortuga; liebre; guepardo;
public static void main(String argv[]) throws InterruptedException { tortuga = new Animal(2, "T"); liebre = new Animal(3, "L"); guepardo = new Animal(4, "G"); tortuga.start(); liebre.start(); guepardo.start(); tortuga.join(); liebre.join(); guepardo.join(); } } class Animal extends Thread { String nombre; public Animal(int prioridad, String nombre) { this.nombre = nombre; setPriority(prioridad); } public void run() { for (int x = 0; x < 30; x++) { System.out.print( nombre ); yield(); } System.out.println("\nLlega "+nombre ); } } La salida de este programa, ejecutado con java Ejemplo21, es por ejemplo: C:\java\curso>java Ejemplo21 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG Llega G LTLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Llega L TTTTTTTTTTTTTTTTTTTTTTTTTTTTT Llega T
Página 74