laboratory/experiments/go/mutex/simple/main.go
Dan Anglin f10b079055
feat: add experiments
- custom logger
- simple mutex example
2022-10-29 23:56:53 +01:00

35 lines
368 B
Go

package main
import (
"fmt"
"sync"
)
var x = 0
func main() {
var w sync.WaitGroup
var m sync.Mutex
numRunners := 2000
w.Add(numRunners)
for i := 0; i < numRunners; i++ {
go increment(&w, &m)
}
w.Wait()
fmt.Println("Final value of x: ", x)
}
func increment(wg *sync.WaitGroup, m sync.Locker) {
m.Lock()
{
x = x + 1
}
m.Unlock()
wg.Done()
}