Devoir À Rendre 12 - 12
Devoir À Rendre 12 - 12
Devoir À Rendre 12 - 12
: 2019-20
Ecole Ntionale des Sciences Appliquées Module : Prog des Systèmes
Tétouan 3ème année G. Informatique
Philo0
F0 F1
Philo4 Philo1
F4 F2
Philo3 F3 Philo2
Un Philosophe possède un identifiant entier, un lien vers les fourchettes, un nombre
de bouchées à ingurgiter, un temps minimum pour avaler une bouchée, un temps
variable pour mastiquer, un temps minimum pour réfléchir, un temps variable pour
divaguer.
Un philosophe effectue un cycle tant qu’il n’a pas mangé toutes ses bouchées :
L’objet partagé entre les philosophes est un objet de type Fourchettes. Cette classe
comprend un tableau de n fourchettes. On suppose que cette classe propose les
méthodes :
L’accès aux fourchettes doit être synchronisé, c’est à dire qu’un seul processus a le droit
d’entrer dans les méthodes déposer et prendre :
static final int TempsBouchee=500; /**temps max en plus pour une bouchee en milliseconde*/
static final int TempsPensee=500;/**temps max en plus pour une pensee en milliseconde*/
super("philo"+_no); no = _no;
/** fonction principale du philosophe : faire nb Bouchees cycle de : * prendre des fourchettes;
Si ’n’ est le nombre total de philosophes et de fourchettes, le philosophe ’no’ mange avec
les fourchettes ’no’ et ’(no+1)%n’.
2. Définir la classe Fourchettes contenant :
lesFourchettes : un tableau de n booléens (lesFourchettes[i] == true signifie que la
fourchette ’i’ est libre)
taille : un entier correspondant au nombre de fourchettes (la taille du tableau)
Problème 2 :
Chaque thread baigneur écrit son numéro et son état dans un tube commun à
tous les baigneurs.
Thread
Baigneur 1
Thread
Thread 53 24 12 DessinBaigneur
Baigneur 2
PipedOutStream po
Thread PipedInputStream pi
Baigneur 3
Les threads Baigneur écrivent dans le tube leur numéro et leur état (le baigneur 1 est
dans l’état 2, le baigneur 2 dans l’état 4, etc.). Le processus DessinBaigneurs lit dans le
tube les résultats de la simulation et affiche graphiquement l’état de chaque processus.
Les attributs panier, cabine et po sont static.
Etat/Baigneur A B C D E F H
arrive + + + + + + +
panier + + + + + + +
déshabillage + + + + +
Baigne + + + +
S’habille + +
quitte
Une fois un baigneur quitte, son couloir dans la piscine, son panier, sa cabine, se libère.