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

Άποψη: 18422|Απάντηση: 1

[Πηγή] Η C# μαθαίνει να χρησιμοποιεί νήματα νημάτων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 27/3/2017 5:32:28 μ.μ. | | |

. Το .NET framework είναι μια βιβλιοθήκη κλάσης χρόνου εκτέλεσης για C#, . Το .NET είναι ένα περιβάλλον πολλαπλών νημάτων. Ένα νήμα είναι μια ενιαία διαδοχική διαδικασία ελέγχου σε μια διεργασία. Ένα νήμα είναι μια οντότητα σε μια διαδικασία. Μια διεργασία μπορεί να έχει πολλά νήματα και ένα νήμα πρέπει να έχει μια γονική διεργασία.

     Τα νήματα έχουν γενικά τρεις βασικές καταστάσεις: ανάγνωση, αποκλεισμός και λειτουργία. Από τις τρεις βασικές καταστάσεις, προκύπτουν πέντε βασικές πράξεις νημάτων. Πρώτον, τα νήματα προέρχονται μέσα σε μια διαδικασία. Δεύτερον, προγραμματίστε, επιλέξτε ένα έτοιμο νήμα για να εισέλθετε στην κατάσταση λειτουργίας. Τρίτον, μπλοκ, εάν ένα νήμα χρειάζεται να περιμένει να συμβεί ένα συμβάν κατά την εκτέλεση, θα αποκλειστεί. Τέταρτον, ξεμπλοκάρετε, εάν ξεκινήσει το συμβάν, το νήμα ξεμπλοκάρεται, μπαίνοντας στην ουρά ετοιμότητας. Πέμπτον, τελειώστε, το νήμα τελειώνει και απελευθερώνεται το περιβάλλον του καταχωρητή και τα περιεχόμενα στοίβας που εκτέλεσε.

     Ένα νέο νήμα είναι ένα αντικείμενο νήματος που δημιουργήθηκε πρόσφατα και δεν έχει ακόμη εκχωρήσει πόρους. Επομένως, μπορείτε να χρησιμοποιήσετε μόνο τις μεθόδους start() ή close().

     Η κατάσταση εκτέλεσης είναι όταν το νήμα λαμβάνει τους απαραίτητους πόρους για το νήμα μετά την εκτέλεση της μεθόδου start() και καλεί τη μέθοδο run() για εκτέλεση.

     Η κατάσταση Not Runable είναι μια κατάσταση που εισέρχεται όταν συμβαίνουν τα ακόλουθα συμβάντα, καλείται η μέθοδος suspend(), καλείται η μέθοδος sleep(), το νήμα χρησιμοποιεί wait() για να περιμένει τη μεταβλητή συνθήκης και το νήμα περιμένει I/O.

    Νεκρό είναι όταν επιστρέφει η μέθοδος Run() ή ένα άλλο νήμα καλεί τη μέθοδο stop() και το νήμα εισέρχεται σε νεκρή κατάσταση. Παρακάτω είναι δύο απλά παραδείγματα Thread.


Περίληψη: Γιατί να χρησιμοποιήσετε το Thread (multi-threading), αυτό γίνεται για να αποτρέψετε τον αποκλεισμό του κύριου νήματος, εάν χρειάζεται να επεξεργαστείτε μεγάλο όγκο δεδομένων ή να καλέσετε μια χρονοβόρα μέθοδο, πρέπει να χρησιμοποιήσουμε το Thread multi-threading.

Παράδειγμα:


Μη χρήση πολλαπλών νημάτων: Η διεπαφή δεν ανταποκρίνεται... Είναι επειδή το multithreading δεν χρησιμοποιείται




Προηγούμενος:Ποιο είναι το αφεντικό του real estate Wu Xuezhan πίσω από την «υπόθεση προσβολής της μητέρας»;
Επόμενος:Το BundleTable δεν φορτώνει αρχεία js και css με ελάχιστο
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com