Подготовка к интервью

Вопросы о многопоточности и синхронизации в Java

16 вопросов с ответами по теме «Многопоточность в Java»

16 вопросов

Что проверяют на интервью

Как устроена подборка

Подборка о запуске потоков, видимости данных и выборе средств синхронизации. Практические сценарии включают параллельные запросы, последовательные задачи и файловые операции, а сравнения механизмов помогают отделить атомарность от блокировок и асинхронного результата.

Каталог

Вопросы по теме

Найдено: 16
Теория

Какой класс из пакета java.util.concurrent ты бы применил для организации многопоточной обработки файловых операций?

Для организации многопоточной обработки файловых операций в Java из пакета java.util.concurrent часто используют класс ExecutorService. Он позволяет управлять пулом потоков и выполнять задачи асинхронно.

Читать ответ
Теория

Каким образом реализована и функционирует инструкция volatile в Java для обеспечения видимости и порядка изменений переменных между потоками?

В Java ключевое слово volatile используется для переменных, чтобы обеспечить корректную видимость изменений между потоками и предотвратить переупорядочивание операций компилятором и процессором.

Читать ответ
Теория

Как отличаются методы синхронизации в Java и Kotlin Coroutines?

В Java синхронизация обычно реализуется с помощью ключевого слова synchronized, которое блокирует монитор объекта, обеспечивая взаимное исключение при доступе к критическим секциям кода.

Читать ответ
Теория

Можете ли вы объяснить, что такое Livelock в контексте Java и как он отличается от Deadlock?

Livelock — это ситуация в многопоточном приложении, когда два или более потока постоянно реагируют друг на друга, изменяя своё состояние, но при этом ни один из них не может продвинуться дальше.

Читать ответ
Лайвкодинг

Как на собеседовании параллельно получить данные из 4 независимых систем через CompletableFuture?

Как параллельно получить данные из 4 независимых систем через CompletableFuture? Java concurrency и асинхронное выполнение CompletableFuture — оболочка для асинхронных вычислений Запускать каждый запрос в пуле потоков…

Читать ответ
Теория

Как правильно запустить Thread и почему прямой вызов run() не создаёт новый поток?

Чтобы запустить поток, вызовите у объекта Thread метод start() Метод start() создаёт новый системный поток операционной системы и запускает его Метод run() является обычным методом и выполняется в том потоке, из…

Читать ответ
Теория

Как устроена и работает многопоточность в Java?

Как работает многопоточность в Java? Java обеспечивает параллельное выполнение с помощью потоков (Threads) Поток — отдельный исполняемый поток команд в рамках процесса Для создания потоков применяют классы Thread и…

Читать ответ