Home E-Books Effetti speciali e sviluppo giochi in Java Il metodo run() 

Effetti speciali e sviluppo giochi in Java(TM) -Il metodo run() 

di Anibal Wainstein (traduzione di Hanami Solutions)

3.0.2 Il metodo run() 

In contrasto coi metodi start() e stop(), il metodo run() sarà sempre differente da applet a applet. Questi metodi sono sempre chiamati dai thread che vi siete creati. Questo significa che avete un thread che funziona con gli altri metodi delle applets (il thread principale) e un thread che si occupa del metodo run() (il vostro thread che inizializzate nel metodo start() ). "Trattenendo" il thread nel metodo run() con un ciclo, potete sfruttarlo per fargli fare del lavoro che non blocchi la JVM: 

public void run()
{
    while (true)
    {
   
   }
}
Nell'esempio qua sopra stiamo trattenendo il thread entro il ciclo infinito (o finché non viene invocato il metodo stop() della applet). Il problema con la applet che abbiamo creato nel capitolo 2.0.4, era che venisse sovrascritta da altri messaggi di status da parte del browser. Qui i threads ci possono essere d'aiuto, perché riescono ad aggiornare costantemente un messaggio nella finestra di status, e così facendo, sovrascrivono altri messaggi da parte del browser. Riscriviamo la applet: 
import java.applet.*;
import java.awt.*; public class threadtest extends Applet implements Runnable { public Thread animationthread = null; public void start() { if (animationthread == null) { animationthread = new Thread(this,"animationthread"); animationthread.start(); } } public void stop() { if ((animationthread != null) && animationthread.isAlive()) animationthread.stop(); animationthread = null; } public void run() { while (true) { showStatus("Ciao Italia!"); } } } 
Compilate la applet ed eseguitela. Potete anche clickare qua per vederla. Noterete che il messaggio "Ciao Italia!" viene mostrato nella finestra di status del vostro browser.

 

 


Pagina seguente >>