06b-Programmazione concorrente (Java)

Mul4threading •  Mul4threading Programmazione concorrente Java Classe derivata •  Il metodo più semplice per creare un thread è quello di definire una classe derivata dalla classe java.lang.Thread
•  La classe deve ridefinire il metodo public void run()
•  La classe Thread ha un metodo start() che richiama implicitamente il metodo run
•  Il metodo start() non ha parametri quindi gli eventuali parametri devono essere ges44 tramite il costruEore Esempio di u4lizzo public static void main(String[] args) {
…
EsempioThread es1 = new EsempioThread(…);
es1.start();
while(es1.isAlive);
–  flussi di esecuzione parallela all’interno di un unico processo •  In Java un thread è un metodo che viene eseguito contemporaneamente ad altri •  La ges4one dei thread java è totalmente indipendente dal sistema opera4vo ospite Esempio public classe EsempioThread extends java.lang.Thread {
…
public void run() {
…
}
}
isAlive() •  Il metodo isAlive() res4tuisce true se il thread è ancora in esecuzione •  In alterna4va al metodo isAlive si può u4lizzare il metodo join che aEende il completamente del thread 1 Metodi di Thread •  long ge4d() res4tuisce l’iden4ficatore del thread •  void setName(String nome) seEa il nome •  String getName() res4tuisce il nome •  void interrupt() interrompe il thread •  void setPriority(int p) stabilisce la priorità 2