Jest to kod w praktyce pytanie SCJP:koduje ten sam gwint wykonany w nietypowym celu
public class Threads2 implements Runnable {
public void run() {
System.out.println("run.");
throw new RuntimeException("Problem");
}
public static void main(String[] args) {
Thread t = new Thread(new Threads2());
t.start();
System.out.println("End of method.");
}
}
został częściowo wymienione here.
Jednak moje pytanie nie jest wcześniejsze pytanie. Ponieważ wielokrotnie uruchamiam program na kilku maszynach, czasami uzyskuję RuntimeException
przed "uruchomieniem" w danych wyjściowych. Nie ma to dla mnie sensu, ponieważ linie kodów wykonane w tym samym wątku powinny być odwrócone.
Czy ktoś może wyjaśnić, dlaczego tak się dzieje?
_ "Uruchom" przed RuntimeException w output._ sounds right –
Ups. Mój błąd. Edytowane. – underlandian
Zależy od systemu, jak sądzę. Kiedy system System.out jest przepłukiwany? – RobAu