edutecnica

Esercizio 1                     

Lanciare due thread, uno scrive numeri da 1 a 10, l'altro numeri da 100 a 50 su una colonna diversa.


Il processo A, conta da 1 a 10; è legato alla variabile locale i della classe P. Il processo viene poi terminato dall'istruzione:
if(i>10)this.stop(); //terminazione
Il processo B è legato alla variabile locale j e viene gestito con le stesse modalità.

class conta{
public static void main(String args[]){
P T1=new P('A');
P T2=new P('B');
T1.start(); T2.start();
}//fine main
}//fine classe
conta class P extends Thread{
char ch;
int i=1,j=100;//inizializzazione delle variabili
public P(char c){ ch=c; }// costruttore
public void run(){
   if(ch=='A')
      while(true) {
         System.out.println(i);
         i++;
         try{this.sleep(500);}catch(InterruptedException e){}
         if(i>10)this.stop();//terminazione
   }//fine while
   else while(true) {
         System.out.println(" "+j);
         j--;
         try{this.sleep(500);}catch(InterruptedException e){}
         if(j<50)this.stop();//terminazione
         }
}//fine run
}//fine classe P