概述
文章目录
- Golang 并发&同步的详细原理和使用技巧
-
- Golang 并发概要说明
-
- 并发模型
- go 关键字实现并发
- Golang 并发&同步的设计和实现
-
- 为何需要同步控制
- 并发和 context
- 并发 和 sync(锁)
-
- sync.Mutex 互斥锁
- sync.RWMutex 读写锁
- 并发和 Channel
- 并发 和 sync(sync.WaitGroup)
-
- WaitGroup 的介绍
- WaitGroup vs Channel
- WaitGroup 的使用示例
- WaitGroup 的问题
- 并发 和 errgroup
-
- 官方原生的 errgroup
- 其他扩展的 errgroup
- 最后
Golang 并发&同步的详细原理和使用技巧
Golang 并发概要说明
并发模型
Golang 的并发模型属于一种很典型的 CSP(communicating sequential processes) 并发模型,其核心是不要通过共享内存来通信,而应该通过通信来共享内存。具体实现,就是通过 goroutine 来实现并发,然后并发的 goroutine 之间通过 Channel 来进行通信; 为此,Golang 的并发也有两个明显特点:
- Golang 非常善于并发,可以很简单的来实现(goroutine),直接一个 go 语句基就搞定,通过提高并发可以显著提高处理效率。
- Golang 的 goroutine 并发协程之间一般是采用通信的方式来共享变量或者逻辑交互,而这其中就可以结合 channel 来让并发协程之间进行共享数据,而 channel 就是各个 goroutine 之间通信的管道。
go 关键字实现并发
Golang 并发是通过 goroutine 协程来实现的,通过 go 关键字可以非常简单的启动一个协程;通过 go 关键字启动协程之后, 主进程并不会等待协程
最后
以上就是结实抽屉为你收集整理的Golang 并发&同步的详细原理和使用技巧Golang 并发&同步的详细原理和使用技巧的全部内容,希望文章能够帮你解决Golang 并发&同步的详细原理和使用技巧Golang 并发&同步的详细原理和使用技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复