— Ну что, Амиго, ты стал еще на один шаг ближе к званию junior Java developer! Ты хорошо справляешься и с теорией, и с практикой, с чем я тебя и поздравляю.

— Спасибо, Профессор! Но вы наверняка приготовили для меня еще что-то интересное, не так ли?

— Угадал! Для начала могу тебе рассказать о том, как я построил свой первый космический лазер из конечностей вымерших роботозавров…

— Может быть, в следующий раз, Профессор?

— Хорошо, хорошо. Вот твое домашнее чтение на этот раз.

Синхронизация потоков. Оператор synchronized

На начальных этапах обучения часто наши потоки работали отдельно друг от друга. Теперь же, когда ты знаком с многопоточностью, ты знаешь, что могут одновременно взаимодействовать с одним набором данных и вносить в него изменения. Чтобы это не вызывало путаницу, нужен оператор synchronized. Мы посвятили этой важной теме отдельную расширенную лекцию.

Управление потоками. Методы volatile() и yield()

Еще одна подробная лекция посвящена методам volatile() и yield(), а также правилам «happens-before». Ты узнаешь больше о том, как контролировать ход многопоточной программы при помощи целого набора методов.