Trong hướng dẫn này, thảo luận coroutine trong C/C++.
Coroutine là chỉ thị điều khiển chuyển quyền thực thi giữa hai routine mà không trả về (returning any of them).
Ví dụ
#includeint 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; // trả về điều khiển case 1:; // tiếp tục điều khiển } } state = 0; return 0; } int main(){ int i; for (; i=range(1, 5);) printf("control at main :%d\n", i); return 0; }
Kết quả
control at main :1 control at main :2 control at main :3 control at main :4