栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

寻找用于记录的呼叫或线程ID

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

寻找用于记录的呼叫或线程ID

由于滥用的可能性很高,因此无法访问Go中当前goroutine的标识符。这可能看起来很苛刻,但这实际上保留了Go软件包生态系统的重要属性:
启动新的goroutine做某事并不重要

也就是说,对于函数F的任何方法:

F()

几乎完全等同于:

done := make(chan struct{})go func() {   defer close(done)   F()}<-done

(“几乎”来自以下事实:如果F发生恐慌,那么原始goroutine将不会抓住该恐慌)。

这也适用于日志记录-
如果您正在使用当前goroutine来推断当前用户,则如上所述启动任何新goroutine的任何代码都会破坏该假设,并且您的日志记录将不包含预期的信息。

您需要传递某种上下文。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号