0
Java의 스레드에 대해 잘 모르겠습니다. 나는 그것이 실행될 때마다, 그것은 다른 출력을 생성하기 때문에이 코드에 무슨 일이 일어나고 있는지 알고 싶다 : 당신은 초 임의의 숫자에 대한 자고다음 Java 코드의 결과가 매번 다른 이유는 무엇입니까?
public class TwoThreadsDemo{
public static void main(String[] args)
{
new SimpleThread("Java Programmer").start();
new SimpleThread("Java Programmer").start();
}
}
class SimpleThread extends Thread{
public SimpleThread(String str)
{
super(str);
}
public void run()
{
for (int i=0;i<10;i++)
{
System.out.println(i + " " + getName());
try
{
sleep((long)(Math.random()*1000));
}
catch(InterruptedException e)
{
}
}
System.out.println("Done!" + getName());
}
}
나는 본다. 따라서 그 동안 두 번째 스레드가 실행을 시작한 다음 다시 잠자기가 실행됩니다. 첫 번째 스레드는 이전의 스레드에서 계속됩니다. 그게 무슨 일 이니? 설명 해주십시오 –