Sobes.tech
Назад к вопросам
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();

Таким образом, очереди помогают организовать безопасный и упорядоченный обмен данными между потоками.