-  协程如何实现 callback是fd有数据接受时回调 请求接口1基本信息——2 详情——3目录  
异步:
异步的实现,但是变成逻辑变成右上角同步的感觉,但实际还是异步!
借助switch被动切换 ,把callback里的recv提取出来

然后再封装switch,到send recv里面检查可不可行,可以switch,async就是在send recv前检查可不可以send recv

原语操作:switch(函数1, func2) 函数跳转方法
-  setjmp.c / longjump gcc -o setjump setjump.csetjump返回ret=0, func(0) arg1 longjump1 setjump(1)这里ret=1, func(1), arg2 longjump2  每个连接fd,对应一个jump buffer 用于函数跳转 
-  ucontext.c context上下文, 入口func1,2,定义栈顶stack1 没细听,没意义 记不住,有大概的认知即可 栈大小取决于业务量 ctx[0] ctx[1]互相存储!!!!跳完才打印,不马上打印  resume恢复 :main到对应协程内funcX里面可以做一个调度器 scheduler while(i-- < count) swapcontext 调度coroutine协程 funcX 让出yield在协程内部funcX内部切回到mainswapcontext(context[i], maincontxt)  










