Java многопоточность часть 3 synchronized

preview_player
Показать описание
Подробный разбор ключевого слова synchronized и понятие объекта монитора в java.
Рекомендации по теме
Комментарии
Автор

автор, ты молодец. только из твоих видео получилось что-то понять о многопоточности (не считая классического чтива типа Хорстмана, Head First и т.п.). спасибо за твой труд!

dvamedveda
Автор

Одно дело понимать! Другое дело начать применять! Так вот этот урок - первый шаг к практическому применению многопоточности в Java! Спасибо!

alexv
Автор

Ты преподаватель от бога) cool! Спасибо большое за такое качественное видео.

simplechannel
Автор

Спасибо огромное, помог мне разобраться, бился месяцев 3 не понимая синхи...

bro-cqtj
Автор

Короче получается так :)
Любой объект, кроме примитивного, может сам являться объектом синхронизации, за счёт наличия внутри некоего "монитора" этого объекта. Чтобы в коде создать критическую секцию и воспользоваться этим "монитором" надо использовать synchronized функцию, при этом используется монитор this и вся функция будет критической секцией, или блок кода synchronised(Object obj) {}, тогда критической секцией будет этот блок кода и используется монитор объекта obj. При входе в такую функцию захватывается монитор (или происходит ожидание освобождения его другим потоком). При необходимости, для удобства можно создать объект Object, который будет служить только в качестве объекта синхронизации и передаваться в блок кода synchronized().
Да, ещё - в документации "захват объекта синхронизации" - этого "монитора" называется: "стать владельцем монитора".
В общем, получается просто, что всё давным - давно известное тупо назвали другими словами.

Andreyhello