Встречается на собеседованиях • сегодня
В чем разница приложения с многопоточностью между Java и Kotlin
В Kotlin корутины (coroutines) предоставляют более легковесную и удобную альтернативу потокам Java. В отличие от потоков, корутины не блокируют поток ОС, а приостанавливают выполнение, что позволяет эффективнее использовать ресурсы.
Пример с корутинами в Kotlin:
```kotlin
suspend fun fetchData() {
val data = withContext(Dispatchers.IO) {
// сетевой запрос
}
// обработка данных в основном потоке
}
```
В Java традиционно используют `Thread`, `ExecutorService` или `CompletableFuture`:
```java
ExecutorService executor = Executors.newFixedThreadPool(4);
Future future = executor.submit(() -> {
// сетевой запрос
return result;
});
```
Ключевые различия:
1. Корутины легче потоков (тысячи vs десятки)
2. Kotlin предоставляет встроенную поддержку асинхронности через `suspend`-функции
3. В Kotlin проще избегать callback hell благодаря последовательному коду
4. Java требует ручного управления пулами потоков

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