Also known as Coroutines
Coroutines are computer program components that allow execution to be suspended and resumed, generalizing subroutines for cooperative multitasking. Coroutines are well-suited for implementing familiar program components such as cooperative tasks, exceptions, event loops, iterators, infinite lists and pipes.
Korutiner är inom datavetenskap programkomponenter som generaliserar subrutiner, för att därigenom tillåta olika ingångspunkter och att pausa och fortsätta körningen på vissa platser. Korutiner kom till som en teknik inom lågnivåspråk, men stöds även i vissa högnivåspråk, exempelvis Simula och Modula-2. Ett exempel på nyttan av korutiner. Om man har ett konsument/producent-förhållande där en rutin skapar objekt och lägger dem i kö, och en annan rutin tar objekt från kön och använder dem, så vill man gärna effektivisera detta genom att lägga till och ta bort flera objekt åt gången. Koden skulle kunna se ut så här: var q := new queuecoroutine produce loop while q is not full create some new items add the items to q yield to consumecoroutine consume loop while q is not empty remove some items from q use the items yield to produce Varje korutin gör så mycket den kan innan den överlämnar kontrollen till den andra, med yield-kommandot. Den andra korutinen kan nu fortsätta där den slutade tidigare, och fortsätta att behandla kön.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).