Créez une classe qui implémente le Runnable
interface. Mettez le code que vous voulez exécuter dans le fichier run()
c'est la méthode que vous devez écrire pour vous conformer à l'exigence de la Runnable
l'interface. Dans votre fil d'exécution "principal", créez un nouveau fichier Thread
en passant au constructeur une instance de la classe Runnable
puis appeler start()
sur elle. start
dit à la JVM de faire la magie de créer un nouveau thread, et ensuite d'appeler votre run
dans ce nouveau fil.
public class MyRunnable implements Runnable {
private int var;
public MyRunnable(int var) {
this.var = var;
}
public void run() {
// code in the other thread, can reference "var" variable
}
}
public class MainThreadClass {
public static void main(String args[]) {
MyRunnable myRunnable = new MyRunnable(10);
Thread t = new Thread(myRunnable)
t.start();
}
}
Jetez un coup d'œil à Tutoriel sur la concurrence en Java pour commencer.
Si votre méthode est appelée fréquemment, il n'est peut-être pas utile de créer un nouveau thread à chaque fois, car cette opération est coûteuse. Il serait probablement préférable d'utiliser une sorte de pool de threads. Jetez un coup d'œil à Future
, Callable
, Executor
dans le java.util.concurrent
paquet.
0 votes
Il y a quelques exemples sur cette récente question connexe : tuer une boucle infinie en java
0 votes
stackoverflow.com/questions/36832094/ J'ai un problème similaire, veuillez m'aider à le résoudre.
0 votes
Vous pouvez également jeter un coup d'œil à Reactive Java. blog.danlew.net/2014/09/15/grokking-rxjava-part-1 pour les tâches asynchrones