Di solito penso al thread come una freccia che esegue il tuo codice (come quando esegui il debug su Eclipse o Netbeans);
Questa piccola freccia esegue il tuo codice, ma invece di averne uno solo ne spunterai un altro.
In Java, è necessario consentire a una classe di implementare l'interfaccia Runnable che consente di implementare il metodo run ();
Quando vuoi generare un nuovo thread che viene eseguito in parallelo rispetto al primo devi aprire un oggetto Thread, passare l'oggetto che implementa Runnable e avviarlo.
public class SaimLol implements Runnable {
@Override
public void run() {
while(true) {
doSomethingInSaimLol();
}
}
}
public class Main {
public static void main(String... args) {
SaimLol myObject = new SaimLol();
Thread threadSaim = new Thread(myObject);
threadSaim.start();
doSomethingInMain();
}
}
Qual è l'obiettivo della programmazione del thread?
Quando si avvia il thread chiamando il threadSaim.start () una nuova "freccia" spawn e il codice verrà eseguito chiamando contemporaneamente i metodi doSomethingInSaimLol () e doSomethingInMain ();
Con i thread puoi fare cose come controllare due parti del tuo codice simultaneamente, o cose più avanzate come costruire un semaforo per far conoscere il primo thread se tutte le variabili sono settate e può andare.