Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 19792|Απάντηση: 0

[Πηγή] Χρήση του SyncRoot στο StringDictionary

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/11/2016 2:26:38 μ.μ. | | | |

Ο αντικειμενοστραφής προγραμματισμός C#, παρέχει πολλές φιλικές προς το χρήστη λειτουργίας, τώρα αυτό το StringDictionary είναι μια συλλογή κλάσεων που ειδικεύονται στην αποθήκευση συμβολοσειρών ως κλειδιά και τιμές, η έννοια αυτής της κλάσης είναι: Η C# γνωρίζει ότι η συμβολοσειρά στον τύπο τιμής χρησιμοποιείται αρκετά ευρέως, άλλοι τύποι τιμών μπορούν επίσης να μετατραπούν σε αντίστοιχους τύπους συμβολοσειρών, αυτό είναι το νόημα αυτής της συλλογής, αλλά μπορείτε ακόμα να χρησιμοποιήσετε άλλα αντικείμενα συλλογής για να την αντικαταστήσετε, αλλά δώστε προσοχή σε ένα σημείο, Εάν πρόκειται για αποθήκευση συμβολοσειρών, αυτό μπορεί να μειώσει την απώλεια μνήμης και να μειώσει το χρόνο που απαιτείται για την εκτέλεση του προγράμματος


Το SyncRoot μπορεί να χρησιμοποιηθεί για το συγχρονισμό της πρόσβασης στο StringDictionary

Για να το θέσω ωμά, είναι η έννοια της κλειδαριάς, ας γράψουμε ένα πρόγραμμα για να το δοκιμάσουμε:

Ο κωδικός έχει ως εξής:



Έχουμε δύο νήματα ταυτόχρονα για να προσθέσουμε δεδομένα στο λεξικό StringDictionary,

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

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

Παρακάτω, θα το γράψουμε με διαφορετικό τρόπο για να γίνει πιο κατανοητό:





Ανοίγουν 3 νήματα και προστίθενται τα δεδομένα και τα 3 νήματα εκτελούνται σχεδόν ταυτόχρονα, αλλά όταν προστίθενται τα δεδομένα, το καθένα έχει διαφορά 10 δευτερολέπτων.

Συνοπτικά, όταν έχουμε πρόσβαση πολλαπλών νημάτων, μπορούμε να χρησιμοποιήσουμε το SyncRoot για να διασφαλίσουμε την ασφάλεια των νημάτων




Προηγούμενος:Πώς να χρησιμοποιήσετε το WPF Trigger για εναλλαγή κουμπιών
Επόμενος:c# Χρησιμοποιήστε το OCR για να αναγνωρίσετε κινεζικές εικόνες
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com