Devoir a rendre 12 12 Université Abdelmalek Essaadi Ecole Ntionale des Sciences Appliquées Tétouan Année Univ - Module Prog des Systèmes ème année G Informatique Programmation Parallèle Java DEVOIR à Rendre avant Problème Diner des philosophes philosophes
Université Abdelmalek Essaadi Ecole Ntionale des Sciences Appliquées Tétouan Année Univ - Module Prog des Systèmes ème année G Informatique Programmation Parallèle Java DEVOIR à Rendre avant Problème Diner des philosophes philosophes sont à table et e ?ectuent des cycles penser en attendant les fourchettes manger poser les fourchettes penser Ces philosophes mangent des spaghetti avec fourchettes chacun celles situées à gauche et à droite de l ? assiette Or il n ? y a que fourchettes La disposition est la suivante Philo F F Philo Philo F F Philo F Philo Un Philosophe possède un identi ?ant 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é échir un temps variable pour divaguer Un philosophe e ?ectue un cycle tant qu ? il n ? a pas mangé toutes ses bouchées demande de fourchettes pense en attendant les fourchettes dégustation repose de fourchettes penser 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 void prendre int noPhilo appelée lorsqu ? un philosophe demande des fourchettes void deposer int noPhilo appelée lorsqu ? un philosophe repose les fourchettes 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 Y EL KHAMLICHI CUniversité Abdelmalek Essaadi Ecole Ntionale des Sciences Appliquées Tétouan Année Univ - Module Prog des Systèmes ème année G Informatique public synchronized void prendre int no et public synchronized void deposer int no public class Philosophe extends Thread int no no du philosophe int nbBouchees nb de bouchees restantes dans l'assiette long debut date de debut du diner double tempsTotalRepas temps total du repas pour le philosophe Fourchettes lesFourchettes liste de fourchettes static ?nal int TempsBaseBouchee temps min d'une bouchee en milliseconde static ?nal int TempsBouchee temps max en plus pour une bouchee en milliseconde static ?nal int TempsMinPensee temps min d'une pensee en milliseconde static ?nal int TempsPensee temps max en plus pour une pensee en milliseconde Philosophe initialise ?ni a true initialise le no le nb de bouchees le lien vers les fourchettes Philosophe int no int nbBouchees Fourchettes lesFourchettes super philo no no no nbBouchees nbBouchees lesFourchettes lesFourchettes initialise le groupe le no et nb de bouchees le lien vers les fourchettes Philosophe ThreadGroup groupe int no int nbBouchees Fourchettes lesFourchettes super groupe philo no no no nbBouchees nbBouchees lesFourchettes lesFourchettes ?ni false fonction principale du philosophe faire nb Bouchees cycle de prendre des fourchettes attendre entre et ms TempsBaseBouchee et TempsBaseBouchee TempsBouchee poser les fourchettes attendre entre et ms TempsBasePensee et TempsBasePensee TempsPensee public void run Compléter le code suivant Si ? n ? est le nombre total de philosophes et de fourchettes le philosophe ? no ? mange avec les fourchettes ? no ? et
Documents similaires










-
44
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Jui 17, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 59.6kB