Встречается на собеседованиях • сегодня
В чем разница между методом lock() и async()
lock() и async() относятся к разным контекстам в Java.
lock() – это метод из java.util.concurrent.locks.Lock, который блокирует поток до получения блокировки. Если блокировка занята, поток будет ждать.
async() – обычно относится к асинхронному выполнению (например, в Spring @Async), где метод выполняется в отдельном потоке, не блокируя вызывающий поток.
Пример с lock():
java
Lock lock = new ReentrantLock();
lock.lock(); // блокируем
try {
// критическая секция
} finally {
lock.unlock();
}Пример с @Async (Spring):
java
@Async
public void asyncMethod() {
// выполняется в другом потоке
}Итог:
lock()– синхронизация, блокирует поток.async()– асинхронность, не блокирует вызывающий поток.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы