本文转载自微信公众号「脑子进煎鱼了」,作者陈煎鱼。转载本文请联系脑子进煎鱼了公众号。
创新互联是一家集网站建设,西城企业网站建设,西城品牌网站建设,网站定制,西城网站建设报价,网络营销,网络优化,西城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
大家好,我是煎鱼。
上个月面向读者的提问,我们针对 goroutine 泄露中都会看到的大头 runtime.gopark 函数进行了学习和了解,输出了 《Goroutine 一泄露就看到他,这是个什么?》。
有小伙伴提到,虽然我们知道了 runtime.gopark 函数的缘起和内在,但其实没有提到 runtime.gopark 的诱发原因,毕竟他会导致 Goroutine 挂起,这是我们日常编码中需要关注的。
为此我整理了一下笔记,今天这篇文章就和大家一起围观 gopark 的 27 个诱发原因。为了方便阅读,我们会根据分类进行说明。
标识 | 含义 |
---|---|
waitReasonZero | 无 |
waitReasonGCAssistMarking | GC assist marking |
waitReasonIOWait | IO wait |
标识 | 含义 |
---|---|
waitReasonChanReceiveNilChan | chan receive (nil chan) |
waitReasonChanSendNilChan | chan send (nil chan) |
标识 | 含义 |
---|---|
waitReasonDumpingHeap | dumping heap |
waitReasonGarbageCollection | garbage collection |
waitReasonGarbageCollectionScan | garbage collection scan |
标识 | 含义 |
---|---|
waitReasonPanicWait | panicwait |
waitReasonSelect | select |
waitReasonSelectNoCases | select (no cases) |
标识 | 含义 |
---|---|
waitReasonGCAssistWait | GC assist wait |
waitReasonGCSweepWait | GC sweep wait |
waitReasonGCScavengeWait | GC scavenge wait |
标识 | 含义 |
---|---|
waitReasonChanReceive | chan receive |
waitReasonChanSend | chan send |
waitReasonFinalizerWait | finalizer wait |
标识 | 含义 |
---|---|
waitReasonForceGCIdle | force gc (idle) |
waitReasonSemacquire | semacquire |
waitReasonSleep | sleep |
标识 | 含义 |
---|---|
waitReasonSyncCondWait | sync.Cond.Wait |
waitReasonTimerGoroutineIdle | timer goroutine (idle) |
waitReasonTraceReaderBlocked | trace reader (blocked) |
标识 | 含义 |
---|---|
waitReasonWaitForGCCycle | wait for GC cycle |
waitReasonGCWorkerIdle | GC worker (idle) |
waitReasonPreempted | preempted |
waitReasonDebugCall | debug call |
今天这篇文章是对开头 runtime.gopark 函数的详解文章的一个补充,我们能够对此了解到其诱发的因素。
主要场景为:
我们可以根据这些特性,去拆解可能会造成阻塞的原因。其实也就没必要记了,他们会导致阻塞肯定是由于存在影响控制流的因素,才会导致 gopark 的调用。
网站标题:会诱发Goroutine挂起的27个原因
文章URL:http://www.csdahua.cn/qtweb/news46/303846.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网