- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 Go常见并发模式
文章目录一、Go语言并发的基础元素1.goroutine2.channel3.sync 包的同步原语4.多并发控制神器:Context二、常见并发模式Go语言实现1.for select 循环模式无限循环(监控狗)有限循环(for range select )2.select timeout 模式3.流水线模式(Pipeline)4.扇出和扇入模式5.未来模式(Futures)一、Go语言并发的基础元素goroutine、channel、sync 是并发编程中必不可少的元素,context标准包更是为
2021-01-14 10:36:28 2591 5
原创 Go语言并发实践
https://golang.google.cn/一、并发模型CSPCSP基本思想是:将并发系统抽象为channel和process两部分,二者相互独立,没有从属关系 ;channel用来传递消息,消息的发送和接收有严格的时序限制;process用于执行 。在Go语言中,channel就是通道 process就是goroutine 。Go语言调度模型goroutine的调度模型抽象出来三个实体:M P GM:machine:一个内核线程 P:processor Go执行一段代码的上下
2021-01-11 14:40:18 521
转载 Golang中defer、return、返回值之间执行顺序的坑
文章目录前言结论如何解释两种结果的不同:补充前言Go语言中延迟函数defer充当着 try…catch 的重任,使用起来也非常简便,然而在实际应用中,很多gopher并没有真正搞明白defer、return和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!先来运行下面两段代码:A. 匿名返回值的情况package mainimport ( "fmt")func main() { fmt.Println("a return:", a()) // 打印结果为 a ret
2021-01-12 17:36:09 410
转载 Golang 中使用 JSON 时如何区分空字段和未设置字段?
https://learnku.com/go/t/49332几周前,我在使用 Golang 微服务,需要添加使用 JSON 数据的 CURP 操作的支持。通常,我会为实体创建一个结构体,该结构体中定义了所有字段以及 ‘omitempty’ 属性,如下所示type Article struct {Id string json:"id"Name string json:"name,omitempty"Desc string json:"desc,omitempty"
2021-01-12 11:54:31 1950
Redis集群配置文件
2019-12-27
证书文件,cert.txt包含了制作的过程,下载下来解压就可以直接使用
2019-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人