そもそも毎回シードから乱数生成しなおす時点で意味不明の実装
普通はスレッド間で同じ乱数使いまわすでしょ