Получить доступ

Потоки и синхронизация

Основа с Junior

Создание и состояния потоков, synchronized, wait/notify, явные блокировки.

Что важно знать

  • Поток останавливают прерыванием, а не stop.
  • synchronized — монитор объекта, взаимное исключение и видимость.
  • wait/notify — только в цикле с условием.
  • ReentrantLock — tryLock с таймаутом, справедливость, несколько условий.

Критерии освоения

Junior ≈ 8 ч

  • Создаёт потоки и объясняет их состояния и корректную остановку через прерывание
  • Защищает общее состояние synchronized

Практика. Сделать потокобезопасный счётчик и банковский перевод между счетами без гонок.

Middle ≈ 6 ч

  • Использует ReentrantLock, ReadWriteLock и Condition по назначению
  • Находит взаимную блокировку по дампу потоков

Практика. Воспроизвести взаимную блокировку, найти её через jstack и исправить порядком захвата.

Вопросы с собеседований

Разборы темы

← Вся карта «Java»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем