Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να Συγχρονισμός μπλοκ του κώδικα σε Java

Η γλώσσα προγραμματισμού Java επιτρέπει στους προγραμματιστές να γράψουν κώδικα που θα τρέχει παράλληλα σε διάφορα θέματα . Εάν ο υπολογιστής διαθέτει περισσότερα από ένα πυρήνα επεξεργαστή , τα θέματα που θα τρέξει πραγματικά παράλληλα ? Αλλιώς , ο επεξεργαστής θα πολυπλεγμένοι όλες εκτελέσιμη θέματα . Όταν πολλαπλά threads να λειτουργούν στο ίδιο κοινόχρηστο πόρο , ο κώδικας που προκύπτει μπορεί να είναι σωστό μόνο εάν μόνο ένα νήμα σε μια στιγμή λειτουργεί με αυτόν τον πόρο . Συγχρονίζονται μεθόδους που εγγυώνται τη διατήρηση αυτής της ιδιότητας : σε κάθε δεδομένη στιγμή , το πολύ , ένα παράδειγμα από έναν συγχρονισμένο τρόπο επιτρέπεται να χρησιμοποιήσει τον πόρο . Οδηγίες
Η 1

αναγνωρίσει μια ξεχωριστή κατηγορία που θα περιέχει συγχρονισμένη κώδικα , όπως στο ακόλουθο δείγμα κώδικα :

δημόσια SynchronizationExample class ( ) { }


Φτηνές 2

κρίνει την κοινόχρηστο πόρο ως "ιδιωτική " μέλος κατηγορίας , όπως στο ακόλουθο δείγμα κώδικα :

δημόσια τάξη SynchronizationExample ( ) {

ιδιωτικού int accountBalance = 0 ?

}
εικόνων 3

κρίνει τις μεθόδους που λειτουργούν με τον κοινόχρηστο πόρο με τη χρήση του " συγχρονισμένη " λέξη-κλειδί , όπως στο ακόλουθο δείγμα κώδικα :

δημόσια τάξη SynchronizationExample ( ) {

ιδιωτικού int accountBalance = 0 ?

δημόσια συγχρονισμένη άκυρη καταθέσεων ( ποσό int ) {

accountBalance = accountBalance + ποσό ?

}

δημόσια συγχρονισμένη άκυρη απόσυρση ( ποσό int ) {

accountBalance = accountBalance - ποσό ?

} }


Από συγχρονίζονται , μέθοδοι "κατάθεση " και " απόσυρση " δεν θα εκτελεί παράλληλα ? αν κάποιος πρέπει να αρχίσει όταν ο άλλος είναι εκτέλεσης, θα πρέπει να περιμένετε μέχρι την πρώτη για να ξεκινήσει ολοκληρώνει . Αυτό κάνει τις τροποποιήσεις στο κοινόχρηστο πόρο " accountBalance " νήμα-ασφαλή .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα