Каква е разликата между съпрограмата и нишката?


Отговор 1:

Каква е разликата между съпрограмата и нишката?

Не много.

Основната разлика е, че процедурите са съвместни. Конецът е възпрепятстващ.

И двете имат някаква форма на единица за проследяване на контекста. И двамата имат метод за промяна от един контекст в друг.

Нишката използва събитие, базирано на часовник / прекъсване, за да промени контекста в допълнение към това, което използва съвместната рутина, когато ко-рутината използва извикване на функция (нещо, за да "отстъпи на друг контекст"), а рутината може да бъде възобновена. по-късно след обаждането на функцията.


Отговор 2:

Чувал съм само корутини да се споменават в контекста на RCA1802 CPU. Той има 4-битов регистър, който му казва кой от 16 16-битовите регистри е текущият програмен брояч. Така че той може да "извика" подпрограма (или coroutut), като превключи компютъра в друг регистър.

Не знам, че дефиницията на нишка включва изискване за предварително изтриване от часовник или друго прекъсване.