• ,

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

План уровня:
  • Enum, все особенности
  • Thread Life Cycle, состояние объекта Thread
  • Все нюансы создания и запуска новой нити, демоны.
  • Все нюансы прерывания/остановки нитей
  • Стек вызовов и перехват ошибок
  • Другие методы класса Thread (sleep, yield...)

Курс Java

Что еще можно посмотреть на досуге:
Ответы на вопросы к собеседованию по теме уровня.

Еще несколько полезных материалов по enumeration
О многопоточности в Java

Пособие для будущего Java разработчика. Enterprise — часть 1

www.youtube.com/playlist?list=PL6jg6AGdCNaXo06LjCBmRao-qJdf38oKp



Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария.
Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!

Вернуться к плану обучения

Вернуться к обучению java онлайн на JavaRush

14 комментариев

Oska
  • Oska
  • 0
Рекомендую видео Юрия Ткача Advanced Java — Concurrency
Очень доступно и понятно подается материал.
DefNeo
Да да, очень полезна лекция у него))) Очень понравилось
ab_random
remain4life
На 14-м уроке то же видео, что и на 10-м уровне, только почему-то в более плохом качестве :) Можно было бы что-то новенькое включить.
OctoTad
В своё время эта статья помогла разобраться с блокировками и перехватом InterruptedException.
paNNo4ka
  • paNNo4ka
  • 0
  • Комментарий отредактирован 2016-11-27 14:19:54 пользователем paNNo4ka
Интересная статья, спасибо. Правда, мне показалось, что в оригинале понятнее написано:)
OctoTad
Кто-нибудь может подсказать КАК работает метод isAlive() «под капотом», а не ЧТО он делает? Единственное что нашел, это исходный код из пакета java.util.Thread, это:

public final native boolean isAlive();

Может где-то ещё посмотреть нужно?
OctoTad
Мне тут подсказали где искать реализацию. Этот метод нужно искать в исходниках JVM, но посмотрев исходники понял, что ничего не понял))
alexand
Остался не понятным метод yield().
Описание из лекции:
yield() – текущая нить «пропускает свой ход». Нить из состояния running переходит в состояние ready, а Java-машина приступает к выполнению следующей нити. Состояния running & ready – это подсостояния состояния RUNNABLE.
Вот что по этому поводу у Эккеля написано:
Если вы знаете, что в текущей итерации run() сделано все необходимое, вы можете подсказать механизму планирования потоков, что процессором теперь может воспользоваться другой поток. Эта подсказка (не более чем рекомендация; нет никакой гарантии, что планировщик потоков «прислушается» к ней) воплощается в форме вызова метода yield(). Вызывая yield(), вы сообщаете системе, что в ней могут выполняться другие потоки того же приоритета.

Моя версия JVM подтверждает версию именно Эккеля. Более того, вторая задача 11 лекции вообще не так работает как ожидает валидатор. Ошибка в лекции?
Yuri_0504
11-я задача работает правильно. Проблема в том, что System.out, System.in и System.err — это нейтивные потоки ОС и println() пишет в буфер ОС, а уже сама операционная система решает в какой последовательности выводить в консоль.
DefNeo
Видео повторяется.
Nicson777
С какого уровня следует начинать знакомиться с enterprise?
Evgenym
Вот тут небольшая обзорная полезная статья о многопоточности.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.