rapport
This commit is contained in:
30
rapport.txt
30
rapport.txt
@@ -4,33 +4,33 @@ Tuan Minh VU
|
|||||||
Nous avons la Class Au_Wok qui contient le main(), on y initialise les clients
|
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.
|
ainsi que le restaurant, puis on start tous les clients.
|
||||||
|
|
||||||
Le constructeur Restaurant initialise le Buffet : un tableau de 4 Compartiment
|
Le constructeur Restaurant initialise le Buffet : le Buffet qui initialise dans
|
||||||
(poisson, viande, légume et nouille), le Cusinier, le stand de cuisson,
|
son constructeur les 4 Compartiment (poisson, viande, légume et nouille), le
|
||||||
l'Employe_du_buffet. Puis il star en suite start l'employer du buffet.
|
stand de cuisson, le Cusinier, l'Employe_du_buffet. Puis il star en suite start
|
||||||
|
l'employer du buffet.
|
||||||
|
|
||||||
Le run de Client va suivre ces étapes :
|
Le run de Client va suivre ces étapes :
|
||||||
(1) Entrer dans le restaurant en vérifiant bien que le restaurant est libre
|
(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
|
(2) Prendre une portion de chaque Compartiment du buffet, en vérifiant le
|
||||||
le verrou du compartiment est libre avant de lui-même le verrouiller, après
|
verrou du compartiment est libre avant de lui-même le verrouiller, après
|
||||||
c'être servi il déverrouille fait un notifyAll sur le compartiment pour
|
s'être servi il déverrouille fait un notifyAll sur le compartiment pour
|
||||||
réveiller les clients et l'employer du buffet qui pourrait attendre.
|
réveiller les clients et l'employer du buffet qui pourrait attendre.
|
||||||
Et fais aussi un notify sur le buffet pour que l'employer du buffet puisse
|
Et fais aussi un notify sur le buffet pour que l'employé du buffet
|
||||||
reafaire un tour des compartiment.
|
puisse refaire un tour des compartiments.
|
||||||
(3) Cuire au stand, en se synchronisant avec le stand de cuisson.
|
(3) Cuire au stand, en se synchronisant avec le stand de cuisson.
|
||||||
(4) Manger
|
(4) Manger
|
||||||
(5) Sort, en faisant un notifyAll sur le restaurant pour prévenir tout autre
|
(5) Sort, en faisant un notifyAll sur le restaurant pour prévenir tout autre
|
||||||
thread client attendant pour entrer
|
thread client attendant pour entrer
|
||||||
|
|
||||||
L'employer du buffet fait le tour de chaque Compartiment du Buffet, s'il y a un
|
L'employer du buffet fait le tour de chaque Compartiment du Buffet, s'il y a un
|
||||||
un compartiment à moins de 100g alors il vérifie qu'il est libre (se met en wait sinon)
|
un compartiment à moins de 100g alors il vérifie qu'il est libre (se met en wait
|
||||||
et le remplit. Après avoir fait un tour il fait bufet.sleep, le buffet le reveillera
|
desus sinon) et le remplit. Après avoir fait un tour il fait bufet.sleep, le
|
||||||
après qu'un client se soit servi.
|
buffet le reveillera après qu'un client se soit servi.
|
||||||
|
|
||||||
|
|
||||||
Difficulté :
|
Difficulté :
|
||||||
Nous n'avons pas vraiment rencontré de difficulté, on a juste eu parfois quelque
|
Nous n'avons pas vraiment rencontré de difficulté, on a juste eu parfois quelque
|
||||||
oublie (notifyAll manquant par exemple).
|
oublie (notifyAll manquant par exemple).
|
||||||
On avait aussi commencé dans Stand_de_cuisson par faire une Queue, on a ensuite
|
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
|
décidé de simplement synchroniser le stand de cuisson et le client, qui est au
|
||||||
beaucoup plus simple, mais le verrou n'est plus équitable, ce n'est plus le Client
|
final beaucoup plus simple, mais le verrou n'est plus équitable, ce n'est plus le
|
||||||
qui attend depuis le plus long temps qui est prioritaire.
|
Client qui attend depuis le plus long temps qui est prioritaire.
|
||||||
|
|||||||
Reference in New Issue
Block a user