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 для предотвращения гонок данных.