Встречается на собеседованиях • сегодня

Расскажи про свой опыт работы с многопоточностью

Работал с многопоточностью в Java, используя `Thread`, `Runnable`, `ExecutorService`, `ForkJoinPool` и высокоуровневые API (`CompletableFuture`). **Ключевые моменты:** - Синхронизация через `synchronized`, `ReentrantLock`, `ReadWriteLock`. - Работа с `volatile`, атомарными классами (`AtomicInteger` и др.). - Опыт с `ConcurrentHashMap`, `CopyOnWriteArrayList`, `BlockingQueue`. - Решал проблемы deadlock, race condition, livelock. **Пример:** ```java ExecutorService executor = Executors.newFixedThreadPool(4); List> futures = new ArrayList<>(); for (int i = 0; i < 10; i++) { futures.add(executor.submit(() -> { // Логика задачи return ThreadLocalRandom.current().nextInt(); })); } futures.forEach(f -> { try { System.out.println(f.get()); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } }); executor.shutdown(); ``` Также использовал `CompletableFuture` для асинхронных цепочек и `ForkJoinPool` для рекурсивных задач.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы