Si l'exécution d'un code dépend de l'état d'un objet pour pouvoir lire ou modifier ses attributs et invoquer ses méthodes
alors il est possible dans ce cas de mettre en attente le thread qui s'occupe de l'exécution de ce code,
en attendant que l'autre thread qui manipule l'objet envoie une notification qui informe que l'objet est devenu prêt à être manipuler.
Par exemple, si une application utilise deux threads dont :
- un s'occupe de construire les éléments d'un tableau,
- et l'autre s'occupe de trier les éléments de ce tableau dès que ses éléments ont été tous saisis.
Alors, les deux threads peuvent utiliser les méthodes
wait
et
notify
pour synchroniser l'accès à cet objet.
Résultat d'exécution du code :