问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

深入理解golang

发布网友 发布时间:2022-11-29 04:32

我来回答

1个回答

热心网友 时间:2023-10-26 09:32

最近三年,在工作中使用go开发了不少服务。深感go的便捷,以及它的runtime的复杂。我觉得需要定期的进行总结,因此决定写这篇文章,也许更准确的,应该叫笔记。

最近终于解决了一个和cgo有关的问题。这个问题从发现到解决前后经历了接近4个月,当然,和人手不足也有关系。而对于我个人而言,这个问题其实历时2年!这得从头说起。

在上一家公司的一个项目里,有一个服务做音视频数据的提取,这个服务运行在嵌入式设备TX2上。音视频提取这一关键功能主要利用nvidia基于gstreamer开发的插件,这个插件可以发挥nvidia gpu的硬件解码功能。当时这个服务使用go和c混编的方式,问题的症状是服务运行一段时间后,不输出音视频数据。遗憾的是,由于疫情,项目停止,因此没有机会继续研究这个问题。

时间来到去年底。当前这个项目进行压力测试,发现关键的语音处理服务运行一段时间后,会出现不拉流的情况,因此也没有后续的结果输出。症状和上一个项目非常像。虽然使用的第三方SDK不一样,但同样用了go和c混编的方式。一开始,焦点就放在go的运行时上,觉得可能是go和c相互调用的方式不对。经过合理猜测,并用测试进行验证后,发现问题还是在第三方拉流的SDK上,它们的回调函数必须要快,否则有可能会阻塞它们的回调线程。当然,在go调用c的时候,如果耗时比较长,会对go的运行时造成一些副作用;在c回调go的时候,go的运行时也有可能阻塞c的回调线程。但go的运行时已经比较成熟,因此我觉得它对这个问题的贡献不大。以上采用了假设-验证的方法,主要的原因还是第三方的拉流SDK不开源。在定位问题的过程中,使用了gdb的gcore来生成堆栈;也搭建了灰度环境来进行压力测试,以及完善监控,这些都是解决方法的一部分。

正是这一问题,促使我更多的了解go的运行时。而我看得越多,越觉得go的运行时是一个庞大的怪物。因此,抱着能了解一点是一点的心态,不断的完善这篇笔记。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
推荐一款在卧室听的音响,最好带CD,带收音机,可插U盘,价格1000以内!尽量... 求问,近几年还会有类似于声之形、你的名字这样的动漫电影么w_百度... 苦学包括什么 北京世纪百奥科技有限公司怎么样? 居住证积分需要哪些材料 上海办居住证积分需要什么资料 居住证积分有哪些材料 如何建立良好的家庭情感氛围 如何让家庭氛围更快乐 如何营造一个欢乐轻松的家庭氛围呢? Go编程技巧--io.Reader/Writer golang base64 斜杠 等号 问题 go使用base64编码 阿卡丽,亚索,刀妹这三个英雄,要精通哪个最难? 新春版本下周上线!3款新皮肤上线,1款荣耀典藏皮肤重做归来 真核生物转录终止需要引物吗? 恋爱中的星座女有哪些缺点是最致命的呢? 十二星座女生的缺点 12星座女让男人又爱又恨的缺点 《铁齿铜牙纪晓岚》皇上*要流放三百里之后又发生了什么故事呢? 杜鹃有哪些变种类型? 54的质因数有( )。 a,2,3. b 2,3,3. c. 3, 你想要来一场舌尖上的盛宴吗? 人多的四字词语有哪些,形容人多的四字词语 320千欧接接220V压降多少 naughty作名字时的意思是什么,请帮忙解答。 SPOT-5卫星数据搜索 SPOT-5卫星的卫星简介 大家觉得西方在近代突然开挂,吊打全球的原因有啥 为什么欧洲白人能突然开挂,文明碾压全世界 golang-redis系列——返回值助手函数(二) 如何清洗窗户 清洗窗户的方法 像无边无际这样有两个无的成语还有哪些? 海盐县海管管件制造有限公司怎么样? 海盐管件厂怎么样? 海盐县志威管件厂怎么样? 海盐汇联通用配件有限公司怎么样? 嘉兴市时尚好太太集成吊顶有限公司怎么样? 嘉兴墙尚秀建材有限公司怎么样? 家居装修的灯具风水禁忌 b站直播回放清晰度 上海锐孚流体控制有限公司怎么样? 南充市锐孚电动车制造有限公司怎么样? 武汉讯网捷通科技有限公司怎么样? 锐孚小魔战是什么型号 深圳市蝶讯网科技股份有限公司怎么样? 杭州威锐孚源科技有限公司怎么样? 求百度云资源,国产的。可以付费, wind有国外的数据吗 长沙思多锐文化用品有限公司怎么样?