I am writing some thread-safe thingy in Go. I try to use Mutexes.
The example I've found here, seems to use the Mutexes without any initialization:
...
// essential part of the referred page
// (it is not my code, I know the pointer is unneeded here,
// it is the code of the referred site in the link - @peterh)
var mutex = &sync.Mutex{}
var readOps uint64 = 0
var writeOps uint64 = 0
for r := 0; r < 100; r++ {
go func() {
total := 0
for {
key := rand.Intn(5)
mutex.Lock()
....
I am a little bit surprised. Is it real, that they don't need any initialization?