atomicpseudorandom.java

来自「java concurrency in practice 源码. JAVA」· Java 代码 · 共 33 行

JAVA
33
字号
package net.jcip.examples;import java.util.concurrent.atomic.*;import net.jcip.annotations.*;/** * AtomicPseudoRandom * <p/> * Random number generator using AtomicInteger * * @author Brian Goetz and Tim Peierls */@ThreadSafepublic class AtomicPseudoRandom extends PseudoRandom {    private AtomicInteger seed;    AtomicPseudoRandom(int seed) {        this.seed = new AtomicInteger(seed);    }    public int nextInt(int n) {        while (true) {            int s = seed.get();            int nextSeed = calculateNext(s);            if (seed.compareAndSet(s, nextSeed)) {                int remainder = s % n;                return remainder > 0 ? remainder : remainder + n;            }        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?