java:synchronized_methods_blocks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
java:synchronized_methods_blocks [2015/03/24 16:29]
gthanos [Συγχρονισμένα Βlocks]
java:synchronized_methods_blocks [2015/04/18 16:06]
gthanos [Συγχρονισμένες μέθοδοι και συγχρονισμένα blocks]
Line 1: Line 1:
 ====== Συγχρονισμένες μέθοδοι και συγχρονισμένα blocks ====== ====== Συγχρονισμένες μέθοδοι και συγχρονισμένα blocks ======
  
-Η Java παρέχει δύο βασικούς τρόπους συγχρονισμού προκειμένου να αποφεύγονται τα προβλήματα συγχρονισμού που παρουσιάστηκαν προηγούμενα τις συγχρονισμένες μεθόδους και τα συγχρονισμένα blocks. ​+Η Java παρέχει δύο βασικούς τρόπους συγχρονισμού προκειμένου να αποφεύγονται τα προβλήματα συγχρονισμού που παρουσιάστηκαν προηγούμενα ​**α)** ​τις συγχρονισμένες μεθόδους και ​**β)** ​τα συγχρονισμένα blocks. ​
  
-Η διαδικασίες συγχρονισμού που περιγράφονται παρακάτω βασίζονται σε έναν εσωτερικό μηχανισμό που διαθέτουν όλα τα αντικείμενα στην Java, το λεγόμενο intrinsic lock ή monitor lock. (Το API της Java αναφέρεται συχνά στον μηχανισμό αυτό ως //​monitor//​). Όταν ένα νήμα θέλει να εκτελέσει τη συγχρονισμένη μέθοδο ενός αντικειμένου θα πρέπει να λάβει το //monitor lock// για το αντικείμενο αυτό. Αντίστοιχα,​ όταν το ίδιο νήμα θα βγει από την συχρονισμένη μέθοδο του αντικειμένου θα ελευθερώσει το //monitor lock// για το αντικείμενο. Όταν ένα νήμα έχει το //monitor lock// για ένα αντικείμενο,​ κανένα άλλο νήμα δεν μπορεί να λάβει ταυτόχρονα αυτό το lock. Μόνο το υφιστάμενο αντικείμενο μπορεί να αφήσει το lock εξερχόμενο από την συγχρονισμένη μέθοδο ή το συγχρονισμένο block.+Η διαδικασίες συγχρονισμού που περιγράφονται παρακάτω βασίζονται σε έναν εσωτερικό μηχανισμό που διαθέτουν όλα τα αντικείμενα στην Java, το λεγόμενο intrinsic lock ή monitor lock. (Το API της Java αναφέρεται συχνά στον μηχανισμό αυτό ως //​monitor//​). Όταν ένα νήμα θέλει να εκτελέσει τη συγχρονισμένη μέθοδο ενός αντικειμένου θα πρέπει να λάβει το //monitor lock// για το αντικείμενο αυτό. Αντίστοιχα,​ όταν το ίδιο νήμα θα βγει από την συγχρονισμένη μέθοδο του αντικειμένου θα ελευθερώσει το //monitor lock// για το αντικείμενο. Όταν ένα νήμα έχει το //monitor lock// για ένα αντικείμενο,​ κανένα άλλο νήμα δεν μπορεί να λάβει ταυτόχρονα αυτό το lock. Μόνο το υφιστάμενο αντικείμενο μπορεί να αφήσει το lock εξερχόμενο από την συγχρονισμένη μέθοδο ή το συγχρονισμένο block.
  
 ===== Συγχρονισμένες μέθοδοι ===== ===== Συγχρονισμένες μέθοδοι =====
java/synchronized_methods_blocks.txt · Last modified: 2016/02/26 11:15 (external edit)