Каналы объединяют коммуникацию - обмен значением - с синхронизацией - гарантируя, что два вычисления (goroutines) находятся в известном состоянии.Как мы можем использовать каналы в Go вместо mutex?
Как можно использовать каналы в Google Перейти для выполнения функций мьютекса?
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()
}
Этот вопрос вроде не попадает в точку. Вы должны спросить себя: «Почему я хочу мьютекс, и как я могу использовать каналы вместо этого?» –