11.05.2013 Views

Java Threads (Hilos en Java) - Universidad de Salamanca

Java Threads (Hilos en Java) - Universidad de Salamanca

Java Threads (Hilos en Java) - Universidad de Salamanca

SHOW MORE
SHOW LESS

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 />

bajo = new Contar( 200 );<br />

// El otro comi<strong>en</strong>za <strong>de</strong>s<strong>de</strong> cero<br />

alto = new Contar( 0 );<br />

// Al que comi<strong>en</strong>za <strong>en</strong> 200 le asignamos prioridad mínima<br />

bajo.setPriority( Thread.MIN_PRIORITY );<br />

// Y al otro máxima<br />

alto.setPriority( Thread.MAX_PRIORITY );<br />

System.out.println( "Prioridad alta es<br />

"+alto.getPriority() );<br />

System.out.println( "Prioridad baja es<br />

"+bajo.getPriority() );<br />

}<br />

// Arrancamos los dos threads, y vamos repintando hasta que<br />

//el thread que ti<strong>en</strong>e prioridad más alta alcanza o supera al<br />

//que ti<strong>en</strong>e prioridad más baja, pero empezó a contar más<br />

//alto<br />

public void start() {<br />

bajo.start();<br />

alto.start();<br />

while( alto.getContar() < bajo.getContar() )<br />

repaint();<br />

repaint();<br />

bajo.stop();<br />

alto.stop();<br />

}<br />

// Vamos pintando los increm<strong>en</strong>tos que realizan ambos threads<br />

public void paint( Graphics g ) {<br />

g.drawString( "bajo = "+bajo.getContar()+<br />

" alto = "+alto.getContar(),10,10 );<br />

System.out.println( "bajo = "+bajo.getContar()+<br />

" alto = "+alto.getContar() );<br />

}<br />

// Para parar la ejecución <strong>de</strong> los threads<br />

public void stop() {<br />

bajo.stop();<br />

alto.stop();<br />

}<br />

}<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!