synchronisation : comment faire?
Salut,
J'ai une classe qui définit entre autres 2 méthodes:
Code:
1 2
| public boolean canPlay(...) { ... }
public void play(...) {...} |
Pour faire play(...) il faut tester d'abord canPlay(...).
Ayant plusieurs threads pouvant appeler ces méthodes, je cherche une solution pour être sûr de conserver un état "stable".
Code:
1 2
| public synchronized boolean canPlay(...) { ... }
public synchronized void play(...) {...} |
Si je rajoute le mot-clé "synchronized", il y aura toujours un problème, car aucune intervention d'un autre thread ne doit s'éxécuter entre canPlay() et play() (sinon le résultat de canPlay() risque de changer).
Avez-vous une solution?
EDIT: Je n'ai pas trouvé la DEUXIÈME PARTIE de ce tuto:
http://alwin.developpez.com/tutorial/JavaThread/