scala.util.Random
複数のスレッドで同じオブジェクトを使用できますか?
1655 次
2 に答える
5
PRNG の重要な機能の 1 つは、同じシードが与えられた場合の再現性です。コードを起動したときに例外が発生したり、コードがクラッシュしたりすることを想像してください。問題をデバッグできるように、その動作を繰り返します。シードを自分で制御できるようにすると、問題をデバッグしている間、同じシードを使用してプログラムを何度も起動できます。単一のスレッドからジェネレーターにアクセスすると、特定のシードに対して同じシーケンスが表示されます。多くのスレッドからアクセスすると、各スレッドがジェネレーターにアクセスする順序を制御できなくなり、シーケンスの異なるサブセットが表示されます。そのため、信頼できる場合でも、Random のスレッド セーフを利用したくない場合があります。
于 2013-03-06T23:46:19.737 に答える