Les Thread: problème des philosophes avec les moniteur. Problème
Résolu/Fermé
nali09
Messages postés
9
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
17 octobre 2015
-
Modifié par nali09 le 2/01/2015 à 13:12
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 3 janv. 2015 à 15:01
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 3 janv. 2015 à 15:01
A voir également:
- Les Thread: problème des philosophes avec les moniteur. Problème
- Moniteur plug and play générique - Forum Ecran
- Exception in thread "javafx application thread" java.lang.nullpointerexception ✓ - Forum Java
- System thread exception not handled nvlddmkm.sys - Forum Windows 10
- Moniteur non plug and play générique ✓ - Forum Windows 10
- Double moniteur - Guide
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
2 janv. 2015 à 17:23
2 janv. 2015 à 17:23
Bonjour,
Il faut éviter l'utilisation de wait/notify, c'est du vieux Java, source de nombreux problèmes. Regardes plutôt les classes du package java.util.concurrent comme les Lock ou les Atomic...
C'est plus difficile, mais dans la mesure du possible, limites l'utilisation de synchronized, pour les même raisons. Avec un Lock ça se fait bien aussi.
Il faut éviter l'utilisation de wait/notify, c'est du vieux Java, source de nombreux problèmes. Regardes plutôt les classes du package java.util.concurrent comme les Lock ou les Atomic...
C'est plus difficile, mais dans la mesure du possible, limites l'utilisation de synchronized, pour les même raisons. Avec un Lock ça se fait bien aussi.
2 janv. 2015 à 21:20
3 janv. 2015 à 15:01
En fait tu n'utilises pas les mécanismes de synchronisation, puisque tu fais de l'attente active avec ta boucle dans tentedemanger...
Il faudrait faire un wait quand tu rentres dans ta section critique, qui soit va passer et te permettre de faire ton opération, soit va attendre que tu le libères avec un notify (attention au notifyAll qui va libérer tout le monde...)