0
点赞
收藏
分享

微信扫一扫

深度学习入门:探索神经网络、感知器与损失函数

蛇发女妖 2024-09-13 阅读 24
  1. 协程如何实现

    callback是fd有数据接受时回调

    请求接口1基本信息——2 详情——3目录

    请添加图片描述

异步:

异步的实现,但是变成逻辑变成右上角同步的感觉,但实际还是异步!

借助switch被动切换 ,把callback里的recv提取出来

请添加图片描述

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

请添加图片描述

原语操作:switch(函数1, func2) 函数跳转方法

  1. setjmp.c / longjump

    gcc -o setjump setjump.c

    setjump返回ret=0, func(0) arg1 longjump1

    setjump(1)这里ret=1, func(1), arg2 longjump2

    请添加图片描述

    每个连接fd,对应一个jump buffer 用于函数跳转

  2. 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)

    请添加图片描述

举报

相关推荐

0 条评论