JavaRush /Java блог /Архив info.javarush /Уровень 16: план уровня и доп. материалы
hubert
41 уровень

Уровень 16: план уровня и доп. материалы

Статья из группы Архив info.javarush

План уровня:

  • Знакомство с нитями: Thread, Runnable, start, join, interrupt, sleep
  • Знакомтво с нитями
  • 2 пособа создания нитей
  • Создание своей нити - метод start()
  • Методы sleep, join, interrupt
  • Способы завершить нить
  • InterruptedException
На этом уровне трэды рассматриваются поверхностно. Детальное углубленное изучение будет на 25-28 уровнях. Курс Java

Что еще можно посмотреть на досуге:

Наш джаварашовец написал статью "Как себя мотивировать". Хорошая статья получилась, прочтите обязательно.

Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь! Вернуться к плану обучения Вернуться к обучению java онлайн на JavaRush
Комментарии (31)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Константин Уровень 23
9 января 2021
http://java-course.ru/articles/exceptions/ про UncaughtExceptionHandler
Евгений Уровень 22
20 августа 2018
В работе часто приходится иметь дело с UncaughtExceptionHandler?
MariaM Уровень 24
28 сентября 2016
в ссылке на главу книги пропущена буква i в слове index =) Если поправить, открывается оглавление, откуда легко выйти на любую главу
MariaM Уровень 24
24 августа 2016
Кто читал и разбирал примеры в Философии Java подскажите пожалуйста, почему в примере на перехват исключений (так и называется параграф «Перехват исключений» в гл. Параллельное выполнение) может выводиться в консоль все в двойном экземпляре (в книге не так). Код вот здесь (проверила несколько раз, вроде все верно). Не понимаю, когда и почему создается второй тред.

Вывод такой:

ekkel.concurrency.ExceptionHandler.HandlerThreadFactory@5bf6b81c creating new Thread
created Thread[Thread-0,5,main]
eh = ekkel.concurrency.ExceptionHandler.MyUncaughtExceptionHandler@1e235551
run() by Thread[Thread-0,5,main]
eh=ekkel.concurrency.ExceptionHandler.MyUncaughtExceptionHandler@1e235551
ekkel.concurrency.ExceptionHandler.HandlerThreadFactory@5bf6b81c creating new Thread
created Thread[Thread-1,5,main]
eh = ekkel.concurrency.ExceptionHandler.MyUncaughtExceptionHandler@3088890d
caught java.lang.RuntimeException
svorobei Уровень 35
25 января 2016
Кое-что осталось непонятным. Получается нить может завершаться сама по себе даже если ее перед этим интерапнуть из main? не раз встречались задачи, где уже нить должна была закончить свое выполнение, а она все выводила и выводила. confused ::(
ab_random Уровень 31
3 января 2016
Задача level16.lesson05.task03 не работает по умолчанию.
Обнаружил сегодня интересную особенность задачи. При значении параметра soundsInOneSpeech от 1 000 000 и выше ( при 100 000 работает нормально, между ними — не пробовал), главный процесс не останавливается (рис. 1). Если в дочерних потоках обозначить их завершение (рис. 2), то можно увидеть, что они закончили свою работу, а главный поток продолжает выполняться.

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

Так вот, кто может объяснить, ПОЧЕМУ так происходит? Спасибо.

P.S. На борту Windows 7 Корпоративная 64 бита, Идея 15.0.2, jdk 1.8.0_65
рис. 1рис. 2рис. 3
Kiranatos Уровень 32
14 декабря 2015
В перерывах на работе читаю главу «Параллельное выполнение» в Thinking in Java. Дочитываю до раздела 1.8 Потоки-демоны.
"… Если поток является демоном, то все потоки, которые он производит, также будут демонами..."
Мы точно программирование изучаем?
XD)))))))))))))))))))))

Hail Java !!!
mfomel Уровень 17
5 июля 2015
Кто-нибудь, поделитесь, пожалуйста, ссылкой на хорошее описание UncaughtExceptionHandler.
mTihiy Уровень 41
31 марта 2015
sleep().
«Цель этого метода, чтобы программа «заснула» на некоторое время.»
Такая формулировка из лекции заставила долго ломать голову над задачей: level16.lesson10.task02.
Cчитаю, что данную формулировку из лекции стоит скорректировать. Ведь sleep() усыпляет не программу, а текущий тред. Тред, в котором вызван sleep().
Call_Me_Amigo Уровень 20
29 марта 2015
Если читать лекции профессора, то и состариться недолго(((