Java Threads (Hilos en Java) - Universidad de Salamanca
Java Threads (Hilos en Java) - Universidad de Salamanca
Java Threads (Hilos en Java) - Universidad de Salamanca
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Java</strong> <strong>Threads</strong> (<strong>Hilos</strong> <strong>en</strong> <strong>Java</strong>)<br />
try {<br />
wait();<br />
} catch (InterruptedException e) {<br />
}<br />
}<br />
cont<strong>en</strong>ts = value;<br />
available = true;<br />
notify();// lo notifica al Productor<br />
// El productor libera el monitor<br />
}<br />
public synchronized int get() {<br />
// El consumidor adquier el monitor<br />
while (available == false) {<br />
try {<br />
wait(); // espera que el Productor invoque a<br />
notify ()<br />
} catch (InterruptedException e) {<br />
}<br />
}<br />
available = false;<br />
notify(); return cont<strong>en</strong>ts;<br />
// el Consumidor libera el monitor<br />
}<br />
8. <strong>Hilos</strong> Demonio (Daemon)<br />
Un proceso <strong>de</strong>monio es un proceso que <strong>de</strong>be ejecutarse continuam<strong>en</strong>te <strong>en</strong> modo background<br />
(<strong>en</strong> segundo plano), y g<strong>en</strong>eralm<strong>en</strong>te se diseña para respon<strong>de</strong>r a peticiones <strong>de</strong> otros procesos a<br />
través <strong>de</strong> la red. La palabra “daemon” (prov<strong>en</strong>i<strong>en</strong>te <strong>de</strong> la palabra griega “ghost”) es propia <strong>de</strong><br />
UNIX, pero no se utiliza <strong>de</strong> este mismo modo <strong>en</strong> Windows. En Windows NT, los <strong>de</strong>monios se<br />
d<strong>en</strong>ominan “servicios”. Cuando los servicios ati<strong>en</strong>d<strong>en</strong> peticiones, se conoc<strong>en</strong> como la parte<br />
“Servidor” <strong>de</strong> una arquitectura Cli<strong>en</strong>te/Servidor.<br />
Los hilos <strong>de</strong>monio también se llaman servicios, porque se ejecutan, normalm<strong>en</strong>te, con<br />
prioridad baja y proporcionan un servicio básico a un programa o programas cuando la actividad<br />
<strong>de</strong> la máquina es reducida. Un ejemplo <strong>de</strong> hilo <strong>de</strong>monio que está ejecutándose continuam<strong>en</strong>te es<br />
el recolector <strong>de</strong> basura (garbage collector). Este hilo, proporcionado por la Máquina Virtual<br />
<strong>Java</strong>, comprueba las variables <strong>de</strong> los programas a las que no se acce<strong>de</strong> nunca y libera estos<br />
recursos, <strong>de</strong>volviéndolos al sistema.<br />
Un hilo pue<strong>de</strong> fijar su indicador <strong>de</strong> <strong>de</strong>monio pasando un valor true al método<br />
setDaemon(). Si se pasa false a este método, el hilo será <strong>de</strong>vuelto por el sistema como un<br />
hilo <strong>de</strong> usuario. No obstante, esto último <strong>de</strong>be realizarse antes <strong>de</strong> que se arranque el hilo con el<br />
método start().<br />
22