go-concurrency-talk/figures/figure-7.go

18 lines
305 B
Go
Raw Normal View History

2020-06-05 19:39:30 +00:00
func goroutine1() {
m.Lock()
- ch <- request //blocks // HL
+ select { // HL
+ case ch <- request: // HL
+ default: // HL
}
m.Unlock()
}
func goroutine2() {
for {
m.Lock() //blocks
m.Unlock()
request <- ch
}
}