start methodでthread start
run methodが処理。
いつ動くかはjvmに任せられている。
class SampleThread extends Thread {
int i;
SampleThread(int i) {
this.i = i;
}
@Override
public void run() {
super.run(); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/OverriddenMethodBody
System.out.println("run:" + this.i);
}
@Override
public synchronized void start() {
super.start(); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/OverriddenMethodBody
System.out.println("start:" + this.i);
}
}
public class Outer {
public static void main(String[] args) {
for (int i=0 ;i<9 ;i++) {
Thread t = new SampleThread(i);
t.start();
// t.run();
}
}
}
start:0
run:0
run:1
start:1
start:2
start:3
start:4
start:5
run:2
start:6
run:6
run:5
run:3
start:7
run:4
run:7
start:8
run:8