Go语言上手 - 工程实践

126 阅读1分钟

一、Go的高并发性能

1.1 Goroutine

image.png

1.2 CSP

加锁从一定程度上会影响性能 image.png

1.3 Channel

image.png

无缓冲也称为同步通道 有缓冲通道满足生产者消费者模型

消费者的速率慢一些,使用带缓冲的队列,解决两者速率不相同的问题 image.png

1.4 并发安全 Lock

image.png

显然,使用通道并发的效率更高

1.5 WaitGroup 并发的同步

image.png

二、依赖管理

2.1.1 GOPATH

image.png

image.png

2.1.2 Go Vendor

image.png

image.png

无法控制依赖的版本,出现依赖冲突

2.1.3 Go Module

image.png

2.2 依赖管理三要素

image.png

类比maven

2.3.1 依赖配置 - go.mod

image.png

2.3.2 依赖配置 - version

image.png

2.3.5 依赖分发

image.png

image.png

4.2 需求用例

image.png

4.3

image.png

4.4

image.png

4.5

image.png

4.6

image.png

image.png

4.7

image.png

image.png