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