Ποια είναι η διαφορά μεταξύ μιας κορουστίνης και ενός νήματος;


Απάντηση 1:

Ποια είναι η διαφορά μεταξύ μιας κορουστίνης και ενός νήματος;

Δεν είναι πολλά.

Η κύρια διαφορά είναι ότι οι κοροτίνες είναι συνεταιριστικές. Ένα νήμα είναι προληπτικό.

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

Το νήμα χρησιμοποιεί ένα συμβάν που βασίζεται σε ρολόι / διακοπή για να αλλάξει το περιβάλλον εκτός από αυτό που χρησιμοποιεί μια συν-ρουτίνα, όπου μια συν-ρουτίνα χρησιμοποιεί μια κλήση λειτουργίας (κάτι για να "αποδώσει σε άλλο πλαίσιο") και η συν-ρουτίνα μπορεί να συνεχιστεί αργότερα μετά από αυτή την κλήση λειτουργίας.


Απάντηση 2:

Έχω ακούσει μόνο ότι οι coroutines αναφέρονται στο πλαίσιο της CPU RCA1802. Έχει έναν καταχωρητή 4 δυαδικών ψηφίων που δείχνει ποιος από τους 16 καταχωρητές 16-bit είναι ο τρέχων μετρητής προγραμμάτων. Έτσι μπορεί να "καλέσει" μια υπορουτίνα (ή coroutine) με την αλλαγή του υπολογιστή σε άλλο μητρώο.

Δεν γνωρίζω ότι ο ορισμός ενός νήματος περιλαμβάνει την απαίτηση να είναι προενισχυμένη από ένα τσιμπούρι ή οποιαδήποτε άλλη διακοπή.