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