Random не является потокобезопасным - вы не должны использовать один и тот же экземпляр из нескольких потоков. Это может быть гораздо хуже, чем просто возвращать одни и те же данные - используя их из нескольких потоков, вы можете «застрять» в состоянии, когда они будут всегда возвращать 0, IIRC.
Очевидно, что вы не просто хотите создать новый экземпляр для каждого потока примерно в одно и то же время, так как они получат одинаковые семена ...
У меня есть статья , которая углубляется в детали этого и предоставляет реализацию, которая лениво создает один экземпляр Random
для потока, используя увеличивающееся начальное число.