マルチスレッド・アプリケーションでの擬似乱数の生成

アプリケーション内の複数のスレッドがPRNGを使用して値のシーケンスを生成している場合、特に同じPRNGアルゴリズムを使用している場合は、これらのシーケンスに互いに一致する値が含まれている可能性がないことを確認します。(同じPRNGアルゴリズムを使用して、すべてのアプリケーションの擬似乱数シーケンスが同じ統計プロパティを持つようにします。)このためには、分割可能、ジャンプ可能およびリープ可能なPRNGが最適です。同じ統計プロパティを持ち、統計的に独立しているジェネレータのストリームを作成できます。

PRNGをアプリケーションに組み込むために使用できる手法は2つあります。アプリケーションが新しいスレッドをフォークする必要がある場合、新しいジェネレータを動的に作成できます。または、最初のRandomGeneratorに基づいてRandomGeneratorオブジェクトのストリームを作成し、各RandomGeneratorオブジェクトをストリームから独自のスレッドにマップすることもできます。