Πώς να εφαρμόσετε πτητική λέξη-κλειδί στην Java;



Η Java είναι ένας προγραμματισμός που διαθέτει πολλά χαρακτηριστικά. Σε αυτό το άρθρο θα διερευνήσουμε ένα τέτοιο χαρακτηριστικό που είναι η ευμετάβλητη λέξη-κλειδί στην Java.

είναι ένας προγραμματισμός που είναι ευλογημένος με πολλές δυνατότητες. Σε αυτό το άρθρο θα διερευνήσουμε ένα τέτοιο χαρακτηριστικό που είναι η ευμετάβλητη λέξη-κλειδί στην Java. Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,

Προχωρώντας με αυτό το άρθρο σχετικά με την πτητική λέξη-κλειδί στην Java.





Μια ευμετάβλητη λέξη-κλειδί χρησιμοποιείται για την τροποποίηση της τιμής μιας μεταβλητής από διαφορετικά νήματα. Χρησιμοποιείται επίσης για να κάνει τα μαθήματα ασφαλή. Αυτό σημαίνει ότι πολλά νήματα μπορούν να χρησιμοποιήσουν μια μέθοδο και παρουσία των τάξεων ταυτόχρονα χωρίς κανένα πρόβλημα. Η ευμετάβλητη λέξη-κλειδί μπορεί να χρησιμοποιηθεί είτε με πρωτόγονο τύπο ή αντικείμενα.

Παράδειγμα

δοκιμή τάξης {static int var = 5}

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



δοκιμή τάξης {static volatile int var = 5}

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

ποια είναι η διαφορά μεταξύ javascript και jquery

Προχωρώντας με αυτό το άρθρο σχετικά με την πτητική λέξη-κλειδί στην Java.

Διαφορά μεταξύ συγχρονισμού και ασταθούς λέξης-κλειδιού

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



Πτητική λέξη-κλειδί Λέξη-κλειδί συγχρονισμού
Η πτητική λέξη-κλειδί είναι τροποποιητής πεδίου.Η συγχρονισμένη λέξη-κλειδί τροποποιεί μπλοκ κώδικα και μεθόδους.
Το νήμα δεν μπορεί να μπλοκαριστεί για αναμονή σε περίπτωση πτητικών.Τα νήματα μπορούν να μπλοκαριστούν για αναμονή σε περίπτωση συγχρονισμού.
Βελτιώνει την απόδοση του νήματος.Οι συγχρονισμένες μέθοδοι υποβαθμίζουν την απόδοση του νήματος.
Συγχρονίζει την τιμή μιας μεταβλητής κάθε φορά μεταξύ της μνήμης νήματος και της κύριας μνήμης.Συγχρονίζει την τιμή όλων των μεταβλητών μεταξύ μνήμης νήματος και κύριας μνήμης.
Τα πτητικά πεδία δεν υπόκεινται σε βελτιστοποίηση μεταγλωττιστή.Ο συγχρονισμός υπόκειται σε βελτιστοποίηση μεταγλωττιστή.

Προχωρώντας με αυτό το άρθρο σχετικά με την πτητική λέξη-κλειδί στην Java.

μετατρέψτε το αντικείμενο σε πίνακα php

Παράδειγμα:

δημόσια τάξη VolatileTest {private static final Logger LOGGER = MyLoggerFactory.getSimplestLogger () private static volatile int MY_INT = 0 public static void main (String [] args) {new ChangeListener (). start () new ChangeMaker (). start ()} η στατική τάξη ChangeListener επεκτείνει το νήμα {@Override public void run () {int local_value = MY_INT ενώ (local_value<5){ if( local_value!= MY_INT){ LOGGER.log(Level.INFO,'Got Change for MY_INT : {0}', MY_INT) local_value= MY_INT } } } } static class ChangeMaker extends Thread{ @Override public void run() { int local_value = MY_INT while (MY_INT <5){ LOGGER.log(Level.INFO, 'Incrementing MY_INT to {0}', local_value+1) MY_INT = ++local_value try { Thread.sleep(500) } catch (InterruptedException e) { e.printStackTrace() } } } } } 

Εικόνα- Volatile-Edureka

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με το «Volatile Keyword in Java». Αν θέλετε να μάθετε περισσότερα, δείτε το Java Training από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. Το Edureka's Το μάθημα έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

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