Corutine
(eller: korutine, coroutine).
Begrebet er temmelig vidtfavnende, men brugen i forbindelse med parallelle processer er nogenlunde entydig. Amerikaneren Conway fandt på navnet i 1958 som betegnelse for subrutiner, som er programmeret, så enhver subrutine opfører sig, som var den hovedprogrammet og alle de andre underprogrammer. Corutiner findes i denne form i programmeringssproget SIMULA.
Ordet kan også bruges om processer, som (hvis de opfylder visse forudsætninger) kan implementeres på simpel vis, såkaldte "letvægtsprocesser" eller "tråde" (se f.eks. thread). Forudsætningerne er, at kun én proces er aktiv ad gangen, og at skift til en anden proces kun sker på et tidspunkt, som den kørende proces bestemmer. Modula-2 har processer, som er corutiner.
Corutiner kan benyttes, når der er tale om tæt samarbejdende processer med lille regnebehov. F.eks. kan corutiner med fordel bruges til tidstro databehandling. Se også non-preemptive scheduling.

