reentrantlockpseudorandom.java
来自「java concurrency in practice 源码. JAVA」· Java 代码 · 共 35 行
JAVA
35 行
package net.jcip.examples;import java.util.concurrent.locks.*;import net.jcip.annotations.*;/** * ReentrantLockPseudoRandom * <p/> * Random number generator using ReentrantLock * * @author Brian Goetz and Tim Peierls */@ThreadSafepublic class ReentrantLockPseudoRandom extends PseudoRandom { private final Lock lock = new ReentrantLock(false); private int seed; ReentrantLockPseudoRandom(int seed) { this.seed = seed; } public int nextInt(int n) { lock.lock(); try { int s = seed; seed = calculateNext(s); int remainder = s % n; return remainder > 0 ? remainder : remainder + n; } finally { lock.unlock(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?