Trace deadlock avec deux consommateurs, deux producteurs et un tampon de taille 1. Buffer vide -> C1 et C2 sont en attente (suspendus). -> P1 rentre en section critique, depose et notifie un thread, mettons P2 Buffer plein -> P1 se met en attente, P2 a été notifié mais le buffer est plein, donc P2 en attente. -> donc C1, C2, P1, P2 sont en attente et aucune notification ne sera faite pour les réveiller. -> deadlock. Solution: faire un notifyAll() en sortie de SC dans le buffer pour s'assurer que un thread d'un type différent du type courant sortant du moniteur est notifié (Consommateur -> Producteur ou Producteur -> Consommateur)