Open dreamyphone opened 4 years ago
co_sched.goStart()
看一下void Scheduler::Start的代码最后一行mainProc->Process(); 这个方法是死循环去处理提交给它的协程。所以Start方法不会退出。
要想继续添加协程,只能将co_sched.Start() 放在其他线程中运行。 比如sample1中的std::thread t([]{ co_sched.Start(); });
作者也封装成了co_sched.goStart()
如果事先并不知道有多少个协程,运行过程中可以动态添加协程吗? 在sample2_yield.cpp 中尝试把
co_sched.Start()
方法移动到最前面,结果就运行不起来了。 请问这部分应该怎么操作呢?