Λύση του προβλήματος Dining Philosophers Μια λύση του προβλήματος Dining Philosophers είναι να χρησιμοποιήσετε έναν σηματοφόρο για να αναπαραστήσετε ένα chopstick. Ένα chopstick μπορεί να σηκωθεί εκτελώντας μια λειτουργία αναμονής στον σηματοφόρο και να απελευθερωθεί εκτελώντας έναν σηματοφόρο.
Ποια είναι μια λύση για το πρόβλημα των φιλοσόφων για φαγητό στην αποτροπή ενός αδιεξόδου;
Η λύση σερβιτόρου για το Dining Philosophers
Στρατηγική: Κάθε φιλόσοφος πρέπει να ζητήσει καθένα από τα (κοινά) ξυλάκια του από έναν σερβιτόρο, ο οποίος μπορεί να αρνηθεί το αίτημα στην αρχή προκειμένου να αποφευχθεί ένα αδιέξοδο. Για ευκολία, υποθέτουμε ότι όλοι οι φιλόσοφοι ζητούν πρώτα το αριστερό τους ξυλάκι και μετά το δεξί ξυλάκι.
Είναι πρόβλημα το Dining Philosophers;
Το πρόβλημα του φιλοσόφου της τραπεζαρίας είναι το κλασικό πρόβλημα του συγχρονισμού που λέει ότι πέντε φιλόσοφοι κάθονται γύρω από ένα κυκλικό τραπέζι και η δουλειά τους είναι να σκέφτονται και να τρώνε εναλλακτικά. Ένα μπολ με ζυμαρικά τοποθετείται στο κέντρο του τραπεζιού μαζί με πέντε ξυλάκια για κάθε έναν από τους φιλοσόφους.
Μπορούμε πώς να λύσουμε το πρόβλημα του φιλοσόφου της τραπεζαρίας χρησιμοποιώντας οθόνες;
Λύση για Dining Philosophers που βασίζεται σε μόνιτορ
Η οθόνη χρησιμοποιείται για τον έλεγχο της πρόσβασης σε μεταβλητές κατάστασης και μεταβλητές κατάστασης Λέει μόνο πότε πρέπει να εισέλθετε και να βγείτε από το τμήμα. Αυτή η λύση επιβάλλει τον περιορισμό ότι ένας φιλόσοφος μπορεί να πάρει τα ξυλάκια του μόνο εάν είναι διαθέσιμα και τα δύο.
Πώς λύνετε το πρόβλημα Dining Philosophers;
Λύση του Προβλήματος Dining Philosophers
Μια λύση του προβλήματος των Dining Philosophers είναι να χρησιμοποιήσετε έναν σηματοφόρο για να αναπαραστήσετε ένα chopstick. Ένα chopstick μπορεί να σηκωθεί εκτελώντας μια λειτουργία αναμονής στον σηματοφόρο και να απελευθερωθεί εκτελώντας έναν σηματοφόρο.