public class CreateThreadRunnableExample implements Runnable {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Child Thread : " + i);
try {
Thread.sleep(50);
} catch (InterruptedException ie) {
System.out.println("Child thread interrupted! " + ie);
}
}
System.out.println("Child thread finished!");
}
public static void main(String[] args) {
Thread t = new Thread(new CreateThreadRunnableExample(), "My Thread");
t.start();
for (int i = 0; i < 5; i++) {
System.out.println("Main thread : " + i);
try {
Thread.sleep(100);
} catch (InterruptedException ie) {
System.out.println("Child thread interrupted! " + ie);
}
}
System.out.println("Main thread finished!");
}
}
в этой программе два метода сна используются для разного времени.,, так что если время выполнения основного потока, то дочерний поток должен запускаться 2 раза. Но он работает только один раз... мы принимаем концепцию runnable или running state.... тогда, когда основной поток заканчивается, тогда 2 дочерних потока будут в состоянии готовности, тогда почему выполняется только один дочерний поток.