Un seul fil à la fois!
Voici mon code:
new Thread() {
@Override
public void run() {
try { player.play(); }
catch ( Exception e ) { System.out.println(e); }
}
}.start();
qui crée et démarre un thread. J'aimerais modifier ce code afin que le fil ne commence que si il n'y a pas d'autres threads ouverts à l'époque! Si il en existe, je tiens à les fermer, et de commencer celui-ci. Merci à l'avance!
source d'informationauteur Illes Peter
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer un
ExecutorService
qui ne permet qu'un seul thread à laExécuteurs testamentaires.newSingleThreadExecutor
méthode. Une fois que vous obtenez le thread unique exécuteur testamentaire, vous pouvez appelerexecute
avec unRunnable
paramètre:Ma méthode préférée serait de mettre en parallèle, un mot sur la méthode de la pièce
synchronisé méthodes de verrouillage de la fonction, de sorte qu'un seul thread sera autorisé à s'exécuter à un moment.
Voici quelques infos
https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html
vous pouvez créer une donnée membre statique de la classe(où threading) qui est incrémenté chaque fois qu'un objet de cette classe est appelée,lire et u obtenir le nombre de threads a commencé