如下代码,为什么每个线程的随机睡眠时间都相同,而且多次运行还是相同的睡眠时间,求解。
public class Sleep_ implements Runnable{
Random rand=new Random(47);
int i;
public void run(){
try{
i=rand.nextInt(1000);
TimeUnit.MILLISECONDS.sleep(i);
System.out.println("sleeep "+i+" milliseconds");
}catch(InterruptedException e){
System.err.println("Interrupted");
}
}
public static void main(String[] args){
ExecutorService exec=Executors.newCachedThreadPool();
for(int i=0;i<10;i++){
exec.execute(new Sleep_());
}
exec.shutdown();
}
}
------解决方案--------------------
- Java code
Random rand=new Random(47);
------解决方案--------------------