スレッドの呼び出しにランダム性がある


package com.freeflying.thread.base;
/**
 * @ClassName: TestThreadRandom  
 * @Description: 
 * @author freeflying
 * @date 2018 6 21 
 */
public class TestThreadRandom {


	public static void main(String[] args) {
		try {
			MyThreadRandom myThread=new MyThreadRandom();
			myThread.setName("myThread");
			myThread.start();
			for (int i = 0; i < 10; i++) {
				int time=(int) (Math.random()*1000);
				Thread.sleep(time);
				System.out.println("main:"+Thread.currentThread().getName());
			}
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}


}
class MyThreadRandom extends Thread{
	@Override
	public void run() {
		try {
			for(int i = 0; i< 10; i++) {
				int time=(int)(Math.random()*1000);
				Thread.sleep(time);
				System.out.println("current run:"+Thread.currentThread().getName());
			}
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

結果を返します.
main:maincurrent run:myThreadmain:mainmain:maincurrent run:myThreadmain:maincurrent run:myThreadcurrent run:myThreadmain:mainmain:maincurrent run:myThreadmain:maincurrent run:myThreadmain:maincurrent run:myThreadmain:maincurrent run:myThreadmain:maincurrent run:myThreadcurrent run:myThread