Σύνδεσμος MS:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η ευμετάβλητη λέξη-κλειδί υποδεικνύει ότι ένα πεδίο μπορεί να τροποποιηθεί από πολλά νήματα που εκτελούνται ταυτόχρονα. Τα πεδία που δηλώνονται ως πτητικά δεν περιορίζονται από τη βελτιστοποίηση του μεταγλωττιστή (υποθέτοντας ότι η πρόσβαση σε αυτά γίνεται από ένα μόνο νήμα). Αυτό εξασφαλίζει ότι το πεδίο αποδίδεται με την πιο πρόσφατη τιμή ανά πάσα στιγμή.
Ο πτητικός τροποποιητής χρησιμοποιείται συνήθως για πεδία στα οποία η πρόσβαση γίνεται από πολλά νήματα, αλλά δεν σειριοποιεί την πρόσβαση χρησιμοποιώντας μια δήλωση κλειδώματος.
Οι ασταθείς λέξεις-κλειδιά μπορούν να εφαρμοστούν στους ακόλουθους τύπους πεδίων:
- Τύπος παραπομπής.
- Τύπος δείκτη (σε μη ασφαλές περιβάλλον). Σημειώστε ότι ενώ ο ίδιος ο δείκτης μπορεί να είναι μεταβλητός, το αντικείμενο στο οποίο δείχνει δεν μπορεί να είναι μεταβλητό. Με άλλα λόγια, ο «δείκτης σε ένα μεταβλητό αντικείμενο» δεν μπορεί να δηλωθεί.
- Τύποι όπως sbyte, byte, short, ushort, int, uint, char, float και bool.
- Ένας τύπος απαρίθμησης με έναν από τους ακόλουθους βασικούς τύπους: byte, sbyte, short, ushort, int ή uint.
- Γενικές παράμετροι τύπου που είναι γνωστό ότι είναι τύποι αναφοράς.
- IntPtr και UIntPtr.
Οι μεταβλητές λέξεις-κλειδιά μπορούν να εφαρμοστούν μόνο σε πεδία μιας κλάσης ή δομής.Οι τοπικές μεταβλητές δεν μπορούν να δηλωθούν ως ασταθείς。
Όχι άλλες ανοησίες, γράψτε έναν βρόχο για να το δοκιμάσετε:
Ας το δοκιμάσουμε 10.000 φορές σε έναν βρόχο,διαπίστωσε ότι η έξοδος μιας τιμής είναι σωστή, αλλά,Δεν εξηγείΤο πτητικό είναι ασφαλές για νήματαΓιατί, αν το δοκιμάσετε πολλές φορές, θα διαπιστώσετε ότι θα υπάρχουν λάθη υπολογισμού! Γιατί υπάρχει πιθανότητα σωστού αποτελέσματος και πιθανότητα λανθασμένου αποτελέσματος
Κώδικας:
Ας δοκιμάσουμε ξανά 100.000 βρόχους και μπορούμε να διαπιστώσουμε ότι η τιμή του a είναι λανθασμένη, επειδή όσο μικρότερος είναι ο αριθμός των βρόχων, τόσο μικρότερη είναι η πιθανότητα σφάλματος και το σφάλμα δεν είναι τόσο προφανές, όπως δεν υπήρχε σφάλμα μετά από 10.000 βρόχους μόλις τώρα.
Αυτή τη στιγμή, προσθέτουμε μια κλειδαριά για δοκιμή και μπορεί να φανεί ότι η τιμή του a υπολογίζεται σωστά όπως περιμέναμε.
Κώδικας:
Περίληψη: Το πτητικό δεν εγγυάται την ασφάλεια του νήματος, όπως μπορείτε να δείτε στο παραπάνω παράδειγμα.
|