Mutex

Συγγραφέας: Robert Simon
Ημερομηνία Δημιουργίας: 21 Ιούνιος 2021
Ημερομηνία Ενημέρωσης: 14 Ενδέχεται 2024
Anonim
GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!
Βίντεο: GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!

Περιεχόμενο

Ορισμός - Τι σημαίνει Mutex;

Το Mutex, στο C #, είναι μια κλάση που ορίζεται στη βιβλιοθήκη τάξης .NET framework που μπορεί να χρησιμοποιηθεί για να αποτρέψει την ταυτόχρονη εκτέλεση ενός μπλοκ κώδικα από πολλαπλά νήματα που εκτελούνται σε μία ή περισσότερες διαδικασίες.

Το Mutex χρησιμοποιείται ως πρωτόκολλο συγχρονισμού σε καταστάσεις όπου ένας πόρος πρέπει να μοιραστεί με πολλαπλά νήματα ταυτόχρονα. Τα ονομαζόμενα αντικείμενα mutex χρησιμοποιούνται για συγχρονισμό μεταξύ των διαδικασιών, επειδή πολλές εφαρμογές έχουν πρόσβαση στο ίδιο αντικείμενο mutex.

Η τάξη mutex έχει σχεδιαστεί για να προστατεύει έναν κοινόχρηστο πόρο όπως μνήμη, χειρισμό αρχείου ή σύνδεση δικτύου από την ταυτόχρονη πρόσβαση από πολλαπλά νήματα ή διαδικασίες. Χρησιμοποιείται σε κατάσταση κλειδώματος για παροχή σειριακής πρόσβασης στους πόρους και εξασφαλίζει αμοιβαίο αποκλεισμό μέσα στα κρίσιμα τμήματα του κώδικα. Βοηθά στην αποτροπή της απρόβλεπτης καταστροφής δεδομένων που μπορεί να προκύψει εάν δεν υπάρχει συγχρονισμός. Συχνά χρησιμοποιείται για τον έλεγχο μιας μοναδικής εμφάνισης μιας εφαρμογής κάθε φορά.

Το Mutex είναι μια συντομευμένη μορφή αμοιβαία αποκλεισμού.

Εισαγωγή στη Microsoft Azure και το Microsoft Σε αυτό τον οδηγό θα μάθετε τι είναι το cloud computing και πώς η Microsoft Azure μπορεί να σας βοηθήσει να μεταφέρετε και να εκτελέσετε την επιχείρησή σας από το cloud.

Η Techopedia εξηγεί το Mutex

Το Mutex παρέχει πολλαπλά θέματα με πρόσβαση σε έναν κοινόχρηστο πόρο, έτσι ώστε το δεύτερο νήμα που χρειάζεται να αποκτήσει ένα mutex που έχει ήδη αποκτηθεί από ένα άλλο νήμα πρέπει να περιμένει μέχρι τη στιγμή που το πρώτο νήμα θα απελευθερώσει το mutex. Πρέπει να ληφθεί μέριμνα ώστε ένα νήμα να μην επιχειρήσει να αποκτήσει ένα mutex που ήδη κατέχει, καθώς αυτό μπορεί να οδηγήσει σε αδιέξοδο.

Για παράδειγμα, ένα mutex μπορεί να χρησιμοποιηθεί για την παροχή αποκλειστικής πρόσβασης σε ένα αρχείο το οποίο πρέπει να διαβαστεί ή να τροποποιηθεί σε ένα πολυνηματικό περιβάλλον.

Η κλάση Mutex έχει έναν κατασκευαστή που μπορεί να χρησιμοποιηθεί για να καθορίσει βασικές παραμέτρους ενός νέου αντικειμένου mutex κατά την αρχικοποίησή του, όπως όνομα, πληροφορίες ιδιοκτησίας και ασφάλεια ελέγχου πρόσβασης που θα εφαρμοστεί στο όνομα mutex.

Ενώ οι εντολές κλειδώματος μπορούν να χρησιμοποιηθούν για τον συγχρονισμό των νημάτων σε μια ενιαία διαδικασία, το mutex χρησιμοποιείται σε όλα τα όρια της διαδικασίας.

Δεδομένου ότι η κλάση mutex είναι ένα περιτύλιγμα σε ένα Win32 construct, απαιτεί μεταβάσεις αλληλεπίδρασης που οδηγούν σε επιτυχία. Ως εκ τούτου, δεν είναι μια καλή επιλογή εκτός αν απαιτείται για λόγους όπως ο συγχρονισμός μεταξύ των ορίων της διαδικασίας.
Ο ορισμός αυτός γράφτηκε στο con του C #