E
Easy Java
@EasyJava_235.5K подп.
1.3Kпросмотров
24.4%от подписчиков
3 марта 2026 г.
Score: 1.5K
❓ Вопрос с собеса Чем ReentrantLock отличается от synchronized в Java? Пример🔽 import java.util.concurrent.locks.ReentrantLock; public class Main { private static final ReentrantLock lock = new ReentrantLock(); private static int counter = 0; public static void main(String[] args) { Runnable task = () -> { lock.lock(); try { counter++; } finally { lock.unlock(); } }; new Thread(task).start(); new Thread(task).start(); } } Ответ🔽 ReentrantLock — это класс из java.util.concurrent.locks, который предоставляет больше возможностей, чем synchronized: — Можно пытаться захватить блокировку с таймаутом (tryLock) — Можно использовать блокировку с несколькими условиями (Condition) — Можно вручную управлять моментом захвата и освобождения 📌 В отличие от synchronized, ReentrantLock требует явного вызова lock() и unlock(), что даёт гибкость, но требует дисциплины. ➡️ Easy Java | #Собес
1.3K
просмотров
1021
символов
Нет
эмодзи
Нет
медиа

Другие посты @EasyJava_23

Все посты канала →
❓ Вопрос с собеса Чем ReentrantLock отличается от synchroniz — @EasyJava_23 | PostSniper