美文网首页
Goroutine panic

Goroutine panic

作者: 听海吹牛逼的声音 | 来源:发表于2019-04-26 12:02 被阅读0次

    https://zhuanlan.zhihu.com/p/42101856?utm_source=wechat_session&utm_medium=social&utm_oi=32729097830400

    今天在琢磨单个goroutine panic的时候会发生什么,然后搜了一下,发现了这个问题。

    如果用了goroutine,那就老老实实在goroutine里面加上个defer recover,不然会把主进程搞crash掉。在panic的时候,之前已经defer的都会按照反序执行。

    再进一步,如果在defer recover后的操作也出现了panic,再加个defer还是能recover回来,那就他么的递归下去了,所以我的理解是,在recover里面用最简单的逻辑即可,不要做复杂处理,推荐就是打打log。
    如果这个函数是有返回值的,那发生panic返回的都是一些默认值。
    在用goroutine做一个pool的时候,在处理的主函数上加个defer比较好,不要在select那个函数里。

    相关文章

      网友评论

          本文标题:Goroutine panic

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