协程:针对IO密集型方法。
1. 为什么要有协程?解决什么问题?
2. 协程提供了什么原语操作?
3.协程的切换
4.协程的定义(结构体)
5. 协程的调度策略
6.调度器如何定义
7. 协程api的实现,hook
8. 协程对于多核的模式如何实现
9.如何测试协程
为什么会有协程:同步的编程方式,异步的性能
//同步
func() {
while(1) {
epoll_wait();
for(;;) {
recv();
send();
}
}
}
//异步
thread_cb(void* arg) {
recv();
send();
}
func() {
while(1) {
epoll_wait();
for(;;) {
push_other_thread();
}
}
}
同步与异步,形容两者之间的关系
检测io与读写io不在一个流程里就是异步