Kanäle kombinieren die Kommunikation - den Austausch eines Wertes - mit der Synchronisation - damit zwei Berechnungen (Goroutinen) in einem bekannten Zustand sind.Wie können wir Kanäle in Go anstelle von Mutex verwenden?
Wie ist es möglich, die Kanäle in Google Go zu verwenden, um die Funktionalität von Mutex durchzuführen?
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()
}
Diese Frage verfehlt Art den Punkt. Du solltest dich fragen "Warum brauche ich einen Mutex und wie kann ich stattdessen Kanäle verwenden?" –