Εφαρμογή: Το κύριο μειονέκτημα του σηματοφόρου είναι ότι απαιτεί πολυάσχολη αναμονή Η απασχολημένη αναμονή σπαταλά τους κύκλους της CPU που κάποια άλλη διαδικασία μπορεί να χρησιμοποιήσει παραγωγικά. Αυτός ο τύπος σηματοφόρου ονομάζεται επίσης spinlock επειδή η διαδικασία περιστρέφεται ενώ περιμένει την κλειδαριά.
Οι σηματοφόροι έχουν ουρές αναμονής;
Εφαρμογή σηματοφορέαΟι σηματοφορείς μπορούν να υλοποιηθούν μέσα στο λειτουργικό σύστημα μέσω διασύνδεσης με την κατάσταση διαδικασίας και προγραμματίζοντας ουρές: ένα νήμα που είναι μπλοκαρισμένο σε έναν σηματοδότη μετακινείται από την εκτέλεση σε αναμονή (αναμονή για συγκεκριμένο σηματογράφο ουρά).
Χρησιμοποιούν τα mutexes busy αναμονή;
Τυπικές έναντι περιστροφικών mutexes:
Μια αναμονή σε αδράνεια: το νήμα που περιμένει να κλειδώσει το mutex αποκλείεται σε κατάσταση αναμονής, όπως εξηγείται στο Κεφάλαιο 2. Απελευθερώνει την CPU, η οποία στη συνέχεια μπορεί να χρησιμοποιηθεί για να τρέξει ένα άλλο νήμα. … Μια πολυάσχολη αναμονή, που ονομάζεται επίσης αναμονή περιστροφής, στην οποία ένα νήμα που περιμένει να κλειδώσει το mutex δεν απελευθερώνει τη CPU
Ποια είναι η διαφορά μεταξύ σηματοφόρου και mutex;
Ένα mutex είναι ένα αντικείμενο, αλλά ο σηματοφόρος είναι μια ακέραια μεταβλητή. … Ένα αντικείμενο mutex επιτρέπει πολλαπλά νήματα διεργασίας να έχουν πρόσβαση σε έναν κοινόχρηστο πόρο αλλά μόνο ένα κάθε φορά. Από την άλλη πλευρά, ο σηματοφόρος επιτρέπει σε πολλαπλά νήματα διεργασίας να έχουν πρόσβαση στο πεπερασμένο στιγμιότυπο του πόρου μέχρι να είναι διαθέσιμο.
Ποια είναι τα κύρια ζητήματα των σηματοφόρων;
Κλασικά προβλήματα συγχρονισμού με λύση σηματοφόρου
- Bounded-buffer (ή Producer-Consumer) Πρόβλημα: Το πρόβλημα Bounded Buffer ονομάζεται επίσης πρόβλημα παραγωγού καταναλωτή. …
- Πρόβλημα Dining-Philosphers: …
- Πρόβλημα αναγνωστών και συγγραφέων: …
- Πρόβλημα Sleeping Barber: