当前位置: 代码迷 >> J2SE >> 为啥每个线程的随机睡眠时间都相同,详见代码
  详细解决方案

为啥每个线程的随机睡眠时间都相同,详见代码

热度:90   发布时间:2016-04-24 00:24:04.0
为什么每个线程的随机睡眠时间都相同,详见代码
如下代码,为什么每个线程的随机睡眠时间都相同,而且多次运行还是相同的睡眠时间,求解。

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);
------解决方案--------------------
探讨

Java code
Random rand=new Random(47);


换成:
Java code
Random rand=new Random();


试试。
  相关解决方案