Я немного потренировался на экзамене O / SCJP. Рассмотрим следующий код:
public class Cruiser implements Runnable {
public static void main(String[] args) throws InterruptedException {
Thread a = new Thread(new Cruiser());
a.start();
System.out.print("Begin");
a.join();
System.out.print("End");
}
public void run() {
System.out.print("Run");
}
}
Источник: http://scjptest.com/mock-test.xhtml
Сайт сообщает, что вывод (ответ на их ложный вопрос) будет BeginRunEnd
, и при нормальном запуске класса это именно то, что выводится.
Однако при отладке выводом является RunBeginEnd
.
Справедливо ли сказать, что при нормальном исполнении вывод будет всегда будет BeginRunEnd
или будет варьироваться в зависимости от других факторов (например, как тяжелый новый класс потока / сколько времени после запуска потока требуется, чтобы присоединиться к нему)?
Вы бы сказали, что это честный / точный экзаменационный вопрос?