Πώς αποφεύγετε την κατάσταση αγώνα στα νήματα;
Πώς αποφεύγετε την κατάσταση αγώνα στα νήματα;

Βίντεο: Πώς αποφεύγετε την κατάσταση αγώνα στα νήματα;

Βίντεο: Πώς αποφεύγετε την κατάσταση αγώνα στα νήματα;
Βίντεο: 8 Ύπουλα Σημάδια Για Το Άγχος & Πως Να Χαλαρώσετε Σε 5' 2024, Απρίλιος
Anonim

Συνθήκες αγώνα μπορεί να αποφευχθεί με την κατάλληλη Νήμα συγχρονισμός σε κρίσιμες ενότητες. Νήμα ο συγχρονισμός μπορεί να επιτευχθεί χρησιμοποιώντας ένα συγχρονισμένο μπλοκ του Ιάβα κώδικας. Νήμα ο συγχρονισμός μπορεί επίσης να επιτευχθεί χρησιμοποιώντας άλλες δομές συγχρονισμού όπως κλειδαριές ή ατομικές μεταβλητές όπως Ιάβα.

Ομοίως, τίθεται το ερώτημα, τι χρειαζόμαστε για να προφυλαχτούμε από την κατάσταση της φυλής;

Προς το αποφύγουμε την αγωνιστική κατάσταση που χρειαζόμαστε Αμοιβαίος αποκλεισμός. Ο αμοιβαίος αποκλεισμός είναι κατά κάποιο τρόπο η διασφάλιση ότι εάν μια διεργασία χρησιμοποιεί μια κοινόχρηστη μεταβλητή ή αρχείο, η άλλη διεργασίες θα να αποκλειστεί από πράξη τα ίδια πράγματα.

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

Επίσης για να ξέρετε, τι είναι η συνθήκη φυλής στα νήματα;

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

Τι είναι η συνθήκη φυλής, δώστε ένα παράδειγμα;

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

Συνιστάται: