tinyrpc/test/coroutine/main.cc

45 lines
717 B
C++

#include "coroutine.hpp"
#include <iostream>
using namespace std;
using namespace tinyrpc;
Coroutine* co1;
Coroutine* co2;
void coro1() {
cout << "this is coro1 begin" << endl;
Coroutine::yeild();
cout << "this is coro1 end" << endl;
}
void coro2() {
cout << "this is coro2 begin" << endl;
Coroutine::yeild();
cout << "this is coro2 end" << endl;
}
int main() {
int stk_size = 4 * 1024 * 1024;
// char* stk1 = static_cast<char*>(malloc(stk_size));
// char* stk2 = static_cast<char*>(malloc(stk_size));
co1 = new Coroutine(stk_size, coro1);
co2 = new Coroutine(stk_size, coro2);
co1->resume();
co2->resume();
co1->resume();
co2->resume();
}