Coroutine

I et program er en coroutine en prosesseringsenhet som ligner på en rutine , bortsett fra at mens avslutningen av en rutine avsluttes rutinen, kan avslutningen av coroutine være resultatet av en suspensjon av behandlingen til den blir varslet om å gjenoppta behandlingen . Suspensjonen av coroutine og gjenopptakelsen av forløpet kan ledsages av dataoverføring.

Coroutines tillater behandling basert på kooperative algoritmer som iteratorer , generatorer , kommunikasjonskanaler , etc.

Ifølge Donald Knuth ble begrepet coroutine laget av Melvin Conway i 1958, mens han jobbet med å skrive et monteringsprogram . Senere foreslo Conway å organisere en kompilator i et sett med coroutines, som ga muligheten til å bruke forskjellige baner under feilsøking , og bruke en enkelt struktur i produksjonen.

Referanser

  1. (in) Knuth, Donald Ervin (1997). Fundamentale algoritmer. Kunsten med dataprogrammering. 1 (3. utgave). Addison-Wesley. Avsnitt 1.4.5: Historie og bibliografi, s. 229. ( ISBN  0-201-89683-4 ) .
  2. (in) E. Conway, "Design of a separable transition-diagram compile" , Communications of the ACM , Vol. 6, nr. 7, juli 1963.