Назад к вопросам
СБЕР
Intern — Junior
66
Имели ли опыт использования очередей в своих проектах?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Да, в проектах на Java часто использовал очереди для организации потокобезопасного обмена данными между потоками или для упорядочивания задач.
Например, класс LinkedBlockingQueue из пакета java.util.concurrent позволяет безопасно добавлять и извлекать элементы из очереди в многопоточной среде. Это удобно для реализации паттерна «производитель-потребитель».
Пример:
import java.util.concurrent.LinkedBlockingQueue;
LinkedBlockingQueue<String> queue = new LinkedBlockingQueue<>();
// Производитель
new Thread(() -> {
try {
queue.put("Задача 1");
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}).start();
// Потребитель
new Thread(() -> {
try {
String task = queue.take();
System.out.println("Обработка: " + task);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}).start();
Таким образом, очереди помогают организовать безопасный и упорядоченный обмен данными между потоками.