ホームページ >Java >&#&チュートリアル >ThreadLocalRandom 関数を使用して Java で乱数を生成する方法
Java で一般的に使用される乱数生成メソッドには、Random クラスと Math.random() メソッドが含まれますが、マルチスレッド プログラムの場合、スレッド セーフは非常に重要です。したがって、マルチスレッド環境では、乱数生成に ThreadLocalRandom クラスを使用することがより適切な選択です。
ThreadLocalRandom は Java 7 で導入された新機能で、スレッド ローカライズされた乱数ジェネレーターを提供します。マルチスレッド環境では、各スレッドが独自の ThreadLocalRandom インスタンスを作成し、スレッドの競合の問題を回避し、プログラムの同時実行パフォーマンスを向上させます。
ThreadLocalRandom を使用して乱数を生成するのは非常に簡単で、ThreadLocalRandom が提供する nextInt メソッドを呼び出すだけです。このメソッドには 2 つのオーバーロード バージョンがあります:
さらに、ThreadLocalRandom は、他のタイプの乱数生成メソッド (nextLong、nextFloat、nextBoolean など) を提供します。これらのメソッドの使用方法は nextInt と似ています。
以下は、ThreadLocalRandom を使用して乱数を生成するサンプル コードです。
import java.util.concurrent.ThreadLocalRandom; public class RandomDemo { public static void main(String[] args) { // 生成一个范围在0-99的随机整数 int randomNum = ThreadLocalRandom.current().nextInt(100); System.out.println("随机数是:" + randomNum); } }
出力では、プログラムを実行するたびに乱数が異なることがわかります。これは、ThreadLocalRandom の乱数生成器のスレッドの安全性と信頼性も裏付けています。
つまり、Java マルチスレッド環境では、ThreadLocalRandom を使用する方が、Random クラスを使用するよりも安全で効率的で便利です。したがって、マルチスレッド プログラムを作成する場合は、ThreadLocalRandom を使用して乱数を生成することを優先する必要があります。
以上がThreadLocalRandom 関数を使用して Java で乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。