美文网首页
Golang 上下文 Context

Golang 上下文 Context

作者: 埃尔温薛定谔不养猫 | 来源:发表于2021-02-03 18:29 被阅读0次

    自己整理了一张图,ProcessOn 做的,可以参照着这张图去阅读学习 context 的源码。
    简单的总结就是,万物( Context )基于 emptyCtx,可以认为一个 ctx 为一个节点,然后根据需求,配置成 valueCtx、cancelCtx 或 timerCtx,最终形成一条子节点包含母节点的链表。
    源码内容不多,可以慢慢消化。
    但凡学习了新的东西,要思考,我学习的这个东西,能用在什么地方并用自己的语言去表述:
    比如点鞭炮,一条引线可以同时点燃左右两串鞭炮,引线又是由一节节火药连成的(链表),突然发现右边鞭炮附近有小孩(在程序中就是遇到了error),要及时停止右边的鞭炮继续燃烧,避免造成不可挽救的情况(在系统中就是资源损耗),这个时候肯定还在继续燃烧对不对(必须对),那其中一节就及时抛出警告,告诉后面的火药别烧下去了(抛出 error ),告诉前面的领导咱们不能再烧了,最后右边的鞭炮就点不起来,也没造成人身伤害。

    上图:


    image.png

    相关文章

      网友评论

          本文标题:Golang 上下文 Context

          本文链接:https://www.haomeiwen.com/subject/zxsmtltx.html