Parallel random number generation that produces the same result, regardless of the number of threads