Nous avons la Class Au_Wok qui contient le main(), on y initialise les clients ainsi que le restaurant, puis on start tous les clients. Le constructeur Restaurant initialise le Buffet : un tableau de 4 Compartiment (poisson, viande, légume et nouille), le Cusinier, le stand de cuisson, l'Employe_du_buffet. Puis il star en suite start l'employer du buffet. Le run de Client va suivre ces étapes : (1) Entrer dans le restaurant en vérifiant bien que le restaurant est libre (2) Prendre une portion de chaque Compartiment du buffet, en vérifiant le verrou du compartiment est libre avant de lui-même le verrouiller, après c'être servi il déverrouille fait un notifyAll pour réveiller les clients ou l'employer du buffet qui pourrait attendre. (3) Cuire au stand, en se synchronisant avec le stand de cuisson. (4) Manger (5) Sort, en faisant un notifyAll sur le restaurant pour prévenir tout autre thread client attendant pour entrer L'employer du buffet fait le tour de chaque compartiment du buffet, s'il y a un un buffet à moins de 100g alors il vérifie qu'il est libre (se met en wait sinon) et le remplit. Difficulté : Nous n'avons pas vraiment rencontré de difficulté, on a juste eu parfois quelque oublie (notifyAll manquant par exemple). On avait aussi commencé dans Stand_de_cuisson par faire une Queue, on a ensuite décidé de simplement synchroniser le stand de cuisson et le client, qui est au final beaucoup plus simple, mais le verrou n'est plus équitable, ce n'est plus le Client qui attend depuis le plus long temps qui est prioritaire.