Встречается на собеседованиях • сегодня
Какие знаешь способы реализации асинхронного взаимодействия
В Java есть несколько основных способов асинхронного взаимодействия:
1. **Threads** - базовый механизм:
```java
new Thread(() -> {
// асинхронный код
}).start();
```
2. **ExecutorService** - пул потоков:
```java
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> { /* задача */ });
```
3. **Future/Callable** - получение результата асинхронно:
```java
Future future = executor.submit(() -> "result");
String result = future.get(); // блокирующий вызов
```
4. **CompletableFuture** (Java 8+) - более гибкий подход:
```java
CompletableFuture.supplyAsync(() -> "data")
.thenApplyAsync(s -> s.toUpperCase())
.thenAccept(System.out::println);
```
5. **Reactive Streams** (RxJava, Project Reactor) - реактивное программирование
6. **Асинхронные сервлеты** (для веба) - AsyncContext
7. **Messaging** (JMS, Kafka) - асинхронная передача сообщений
Для неблокирующего IO - NIO (Selector, Channel) и современные фреймворки типа Netty.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы