![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go channel
文章平均质量分 73
yuchenfw
公众号:Go开发笔记
展开
-
go select编译期的优化处理逻辑
你知道select case数量不同时的底层处理也不一样吗原创 2021-06-27 22:28:50 · 323 阅读 · 1 评论 -
Go channel——block为false时chansend/chanrecv的处理机制
前言本篇聚集select 2个case(1个send/recv case、1个default case)场景时send、recv的具体处理。更多内容分享,欢迎关注公众号:Go开发笔记chansendselect {case c <- v: ... foodefault: ... bar}其底层对应func为selectnbsend。selectnbsend// compiler implements//// select {// case c <- v://原创 2021-05-23 13:53:30 · 373 阅读 · 0 评论 -
Go channel——block为true时chansend/chanrecv的处理机制
前言上篇文章提到channel send/recv使用形式及场景,其中 select单个send/recv case与send/recv单独使用时一致,因此本篇先从这些简单场景出发关注send、recv的具体处理。更多内容分享,欢迎关注公众号:Go开发笔记send单独使用c <- x select单个send caseselect { case c <- x :}以上两种场景send处理方式一致,底层对应func为chansend1。chansend1具体实现原创 2021-05-16 20:39:17 · 629 阅读 · 0 评论