JavaFX et pool de threads?
Bonjour,
je développe une application musicale, une sorte de boîte à rythmes multi-pistes.
Pour le moment :
Code:
1 2 3 4 5 6
|
Boucle:
Chercher un moment à jouer au temps actuel en vérifiant s'il n'a pas été joué au passage d'avant (dans la boucle)
Si trouvé :
Instancier un thread qui joue le media audio.
Sinon dors un peu on attend ce qui vient. |
Le problème est une surcharge de Threads et beaucoup de NullPointerException. J'appelle Thread.stop() -- ce qui n'a aucun intérêt.
En JavaFX on peut lire un média à la fois avec Media.play();
Mais si je créais une classe ThreadPool et affecter à chaque media (pour moi sample ou mélodie ou échantillon vocal) un thread et mettre la boucle dans ces threads plutôt qu'avoir un thread principal. Est-ce que ça irait mieux ?
ThreadPool
Ajouter un morceau sur la piste -> affecter le morceau à un thread disponible. Marquer l'emplacement du thread comme occupé
Supprimer un morceau de la piste -> mettre fin à la boucle joueuse. Marquer l'emplacement du thread (dans une liste) comme libre
Pour moi, c'est pas évident les threads. Je ne sais pas si c'est ma machine qui est poussive (Dual Core Celeron) ou si je ne programme pas le logiciel de façon efficace.
(exemple)
https://www.youtube.com/watch?v=iCgW...?v=iCgW1jSiiag