The golang docs says that
Seed, unlike the Rand.Seed method, is safe for concurrent use.
The rand.Seed is actually from math/rand package, but what is Seed? If Seed is another function then it's not present in math/rand so it's unclear from where that function comes from?
update:
I'm exploring the demo program where in main we execute
rand.Seed(time.Now().UnixNano())
go process(...)
go process(...)
where the process is determined like
func process(...) {
time.Sleep(time.Duration(rand.Intn(30)) * time.Second)
...
}
We are using the same seed in two different threads, so is such using of rand.Seed considered to be a thread non-safe?