Что важно знать
- Поток останавливают прерыванием, а не
stop. synchronized— монитор объекта, взаимное исключение и видимость.wait/notify— только в цикле с условием.ReentrantLock—tryLockс таймаутом, справедливость, несколько условий.
Создание и состояния потоков, synchronized, wait/notify, явные блокировки.
stop.synchronized — монитор объекта, взаимное исключение и видимость.wait/notify — только в цикле с условием.ReentrantLock — tryLock с таймаутом, справедливость, несколько условий.Практика. Сделать потокобезопасный счётчик и банковский перевод между счетами без гонок.
Практика. Воспроизвести взаимную блокировку, найти её через jstack и исправить порядком захвата.
Thread — сам поток выполнения. Runnable — задача без результата (void run()), Callable<V> — задача с результатом V call(), которая может бросить проверяемое исключение.
volatile — видимость и порядок для одной переменной без блокировки. synchronized — видимость плюс взаимное исключение: блок целиком выполняется одним потоком, поэтому составные…
tryOptimisticRead даёт метку, данные читаются без блокировки, затем validate проверяет, не было ли записи; не прошла — повтор или обычная блокировка чтения. Ограничения: данные…
start() создаёт новый поток, и уже он вызывает run(); прямой run() выполняется в текущем потоке, как обычный метод.
Deadlock — циклическое ожидание: поток A держит замок 1 и ждёт замок 2, поток B держит 2 и ждёт 1. Предотвращают единым порядком захвата, tryLock с таймаутом и откатом, короткими…
synchronized даёт взаимное исключение (один поток в блоке по данному монитору) и видимость изменений для следующего вошедшего.
Thread и Runnable, стоимость платформенных потоков, состояния жизненного цикла, кооперативное прерывание и daemon-потоки.
Взаимное исключение и видимость через монитор, reentrancy, guarded blocks с wait/notify и причины deadlock.
Когда synchronized мало, ReentrantLock с tryLock/fairness, ReadWriteLock и StampedLock, Condition вместо wait/notify.
На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.