Clase Thread - docencia de la ETSIT-URJC
Clase Thread - docencia de la ETSIT-URJC Clase Thread - docencia de la ETSIT-URJC
Ejemplo simple public class Pila { } int idx = 0; char [] data = new char[6]; public void poner(char c) { } data[idx] = c; idx++; public char quitar() { } idx--; return data[idx];
Ejemplo El problema con el ejemplo anterior se reproduce cuando dos o más hilos acceden a los métodos poner y quitar de forma descontrolada. Debemos evitar que mientras un hilo intenta poner (quitar) el otro realice una operación que altere los datos. public class Pila { ... ... } public void poner(char c) { } synchronized (this) { data[idx] = c; idx++; }
- Page 1 and 2: Tema 14: Concurrencia Introducción
- Page 3 and 4: Introducción Un thread está comp
- Page 5 and 6: Threads en Java Planificación de
- Page 7 and 8: Definición de threads En Java se
- Page 9 and 10: Cuidado con start() y run()! public
- Page 11 and 12: Implementando la interfaz Runnable
- Page 13 and 14: Thread.sleep() El método Thread.s
- Page 15: Condiciones de carrera El siguient
- Page 19 and 20: $ java PruebaAhorradores 10 Ahorros
- Page 21 and 22: Sincronización y comunicación de
- Page 23 and 24: $ java PruebaAhorradores 10 Ahorros
- Page 25 and 26: public class Hucha { private int ah
- Page 27 and 28: Clases e interfaces en java.lang In
- Page 29 and 30: Otros Join() • Hace que el threa
- Page 31 and 32: Sectiones Críticas Un synchronize
Ejemplo simple<br />
public c<strong>la</strong>ss Pi<strong>la</strong> {<br />
}<br />
int idx = 0;<br />
char [] data = new char[6];<br />
public void poner(char c) {<br />
}<br />
data[idx] = c;<br />
idx++;<br />
public char quitar() {<br />
}<br />
idx--;<br />
return data[idx];