ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจ coroutines ใน C/C++
Coroutines เป็นคำสั่งควบคุมที่สลับการควบคุมการดำเนินการระหว่างสองรูทีนซึ่งส่งคืนรูทีนใด ๆ ของรูทีน
ตัวอย่าง
#include<stdio.h> int range(int a, int b){ static long long int i; static int state = 0; switch (state){ case 0: state = 1; for (i = a; i < b; i++){ return i; //returning control case 1:; //resuming control } } state = 0; return 0; } int main(){ int i; for (; i=range(1, 5);) printf("control at main :%d\n", i); return 0; }
ผลลัพธ์
control at main :1 control at main :2 control at main :3 control at main :4