Sobes.tech
Back to questions
Junior — Middle
60

Имели ли вы опыт работы с параллелизмом и многопоточностью в рамках своих проектов?

Companies where asked
ТБанк
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

Пример создания и запуска нескольких потоков с использованием ExecutorService:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadExample {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(3);

        Runnable task = () -> {
            System.out.println("Выполняется задача в потоке " + Thread.currentThread().getName());
        };

        for (int i = 0; i < 5; i++) {
            executor.submit(task);
        }

        executor.shutdown();
    }
}

Также сталкивался с проблемами синхронизации и использовал ключевое слово synchronized и классы Lock для предотвращения гонок данных.