11. cvičenie – Asynchrónny plánovač ⏳

Úvod

Na tomto cvičení budete upravovať jeden súbor.

Asynchrónny plánovač

Implementujte plánovač pre koprogramy implementované pomocou rozšírených generátorov. Plánovač vykonáva koprogramy algoritmom ide pieseň dokola (round robin). Po ukončení úlohy plánovač vypíše informatívny výpis.

Koprogramy môžu vrátiť (pomocou yield) niekoľko špeciálnych príkazov, ktoré musí plánovač rozpoznať a spracovať:

Sleep
Pozastaví koprogram na stanovený počet kôl. Týmto simulujeme I/O operáciu.
SendTo
Pošle hodnotu do schránky inému koprogramu.

Implementáciu plánovača dokončite podľa TODO komentárov.

Na ukážku implementujte aspoň tri koprogramy:

  • Aspoň jeden musí byť nekonečný.
  • Aspoň jeden musí byť konečný.
  • Aspoň jeden musí posielať inému koprogramu dáta.
  • Aspoň jeden musí spracovávať dáta z iného koprogramu.

Na záver plánovač otestujte s implementovanými koprogramami pre niekoľko kôl.