通道将通信(值的交换)与同步相结合,确保两个计算(goroutines)处于已知状态。
如何使用 Google Go 中的通道来执行互斥锁的功能?
package main
import "sync"
var global int = 0
var m sync.Mutex
func thread1(){
m.Lock()
global = 1
m.Unlock()
}
func thread2(){
m.Lock()
global = 2
m.Unlock()
}
func main(){
go thread1()
go thread2()
}