Los canales combinan la comunicación (el intercambio de un valor) con la sincronización, lo que garantiza que dos cálculos (rutinas) se encuentren en un estado conocido.¿Cómo podemos usar canales en Go en lugar de mutex?
¿Cómo es posible utilizar los canales en Google Go para realizar la funcionalidad de mutex?
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()
}
Este tipo de pregunta no ve el punto. Debería preguntarse "¿por qué quiero un mutex y cómo puedo usar canales?" –