Σπίτι Σκεύη, εξαρτήματα Τι είναι multithreading; - ορισμός από την τεχνολογία

Τι είναι multithreading; - ορισμός από την τεχνολογία

Πίνακας περιεχομένων:

Anonim

Ορισμός - Τι σημαίνει Multithreading;

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

Το multithreading είναι επίσης γνωστό ως σπείρωμα.

Η Techopedia εξηγεί το Multithreading

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

Τα λειτουργικά συστήματα χρησιμοποιούν το σπείρωμα με δύο τρόπους:

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

Οι εκδόσεις των 32 και 64 bit των Windows χρησιμοποιούν προειδοποιητική πολυεπεξεργασία στην οποία ο διαθέσιμος χρόνος του επεξεργαστή είναι κοινόχρηστος, έτσι ώστε όλα τα νήματα να έχουν μια ίση χρονική φέτα και να εξυπηρετούνται σε μια λειτουργία που βασίζεται σε ουρά. Κατά τη διάρκεια της εναλλαγής νήματος, αποθηκεύεται το περιεχόμενο ενός προθεματικού νήματος και επαναφορτίζεται στο επόμενο νήμα στην ουρά. Η χρονική φέτα είναι τόσο μικρή που τα τρέχοντα νήματα φαίνεται να εκτελούνται παράλληλα.

Ο ορισμός αυτός γράφτηκε στο πλαίσιο της Αρχιτεκτονικής Υπολογιστών
Τι είναι multithreading; - ορισμός από την τεχνολογία