sleep()指定された時間スレッドをスリープさせるために使用されることを理解しています。2 つの例を作成しました。例 1 では、1 つしか作成していないため、、、、として出力され1て2います3。4例 2 では、スレッドの 2 つのインスタンスを作成し、出力, 1, 1, 2, 2,3を3取得しています。44
最初のスレッドの出力が1, 2,の後に 2 番目のスレッドの, 3, でないのはなぜですか?41234
例 1:
// Using sleep() method
public class Aaa extends Thread{
public void run(){
for(int i=1;i<5;i++){
try{
Thread.sleep(500);
} catch(InterruptedException e){
System.out.println(e);
}
System.out.println(i);
}
}
public static void main(String[] args){
Aaa m1=new Aaa();
m1.start();
}
}
Output:
1
2
3
4
例 2:
// Using sleep() method
public class Aaa extends Thread{
public void run(){
for(int i=1;i<5;i++){
try{
Thread.sleep(500); // sleeps thread
} catch(InterruptedException e){
System.out.println(e);
}
System.out.println(i);
}
}
public static void main(String[] args){
Aaa m1=new Aaa(); // creating one object
Aaa m2=new Aaa(); // creating second object of a class
m1.start(); // calls run method
m2.start();
}
}
Output:
1
1
2
2
3
3
4
4