In Java, i thread creano dei flussi di esecuzione concorrente all’interno del singolo processo rappresentato dal programma in esecuzione. Si indica allora con il termine programmazione concorrente la pratica di implementare programmi contenenti più flussi di esecuzione (cioè, appunto, thread)
In Java, ogni proramma in esecuzione è un thread. In particolare, il metodo main
è associato al thread main.
Per accedere alle proprietà del thread main, è necessario ottenere un riferimnto all’oggetto corrispondente, mediante il metodo Thread.CurrentThread()
. Ad esempio:
public class ThreadMain {
public static void main(String[] args) {
Thread t = Thread.currentThread();
System.out.println("Thread corrente: " + t);
t.setName("Mio Thread");
System.out.println("Dopo cambio nome: " + t);
}
}
L’output di questo programma è
Thread corrente: Thread[main,5,main]
Dopo cambio nome: Thread[Mio Thread,5,main]
dove Thread[nome, priorità, gruppo]
indica:
Thread
La classe principale per la gestione dei thread in Java è java.lang.Thread
:
Thread
Il modo più semplice per creare un thread è:
Thread