Port.forumgreek.com
Θέλετε να αντιδράσετε στο μήνυμα; Φτιάξτε έναν λογαριασμό και συνδεθείτε για να συνεχίσετε.

Στην Java, πώς συγχρονίζετε μια στατική μεταβλητή μεταξύ νημάτων που εκτελούν ξεχωριστές παρουσίες της ίδιας κλάσης

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω

Peterkumar
Peterkumar
Αριθμός μηνυμάτων : 9
Πόντοι : 17
Ημερομηνία εγγραφής : 11/07/2022
Τόπος : India

ΔημοσίευσηPeterkumar Πεμ Απρ 13, 2023 12:14 pm

I understand that applying the synchronized keyword before a method causes the object to be synchronized. That is, two threads executing the same object instance will be synchronized.

However, because synchronization occurs at the object level, two threads executing separate instances of the same object will not be synchronized as declared by [Πρέπει να είστε εγγεγραμμένοι και συνδεδεμένοι για να δείτε αυτόν το σύνδεσμο.] . If a static variable in a Java class is called by a method, we want it to be synchronized between class instances. Both cases run on separate threads.

Can we achieve synchronization this way?
Κώδικας:
public class Test
{
 private static int count = 0;  
 private static final Object lock= new Object();  
 public synchronized void foo()
 {  
    synchronized(lock)
   {  
       count++;  
   }  
 }    
}
Is it true that because we defined a static object lock and used the synchronized clause for that lock, the static variable count is now synchronized in instances of the Test class?

__________________
Hi, I am Peter and I am currently learning programming languages. I found this forum in hopes of learning something valuable in programming.

Αρέσει στον χρήστη Port Admin

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να απαντήσετε

Προκειμένου να απαντήσετε πρέπει να είστε μέλος.

Δημιουργία Λογαριασμού

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


Δημιουργία ενός νέου Λογαριασμού

Σύνδεση

Έχετε ήδη έναν λογαριασμό; Κανένα πρόβλημα, συνδεθείτε εδώ.


Σύνδεση

 
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης