Применение методов isAlive() и join() Java

Применение методов isAlive() и join() Java

Нередко требуется, чтобы главный поток исполнения завершался последним. С этой целью метод sleep() вызывался в предыдущих примерах из метода main() с достаточной задержкой, чтобы все дочерние потоки исполнения завершились раньше главного.

Но это неудовлетворительное реше­ние, вызывающее следующий серьезный вопрос: откуда одному потоку исполне­ния известно, что другой поток завершился? Правда, в классе Thread предостав­ляется средство, позволяющее разрешить этот вопрос.

Определить, был ли поток исполнения завершен, можно двумя способами. Во­ первых, для этого потока можно вызвать метод isAlive(), определенный в классе Thread. Ниже приведена общая форма этого метода: Читать