Future — Практика
Задача - «Интернет-магазин: заказ пиццы»
Ситуация
Представьте, что пользователь заказывает пиццу в онлайн-магазине.
- Доставка пиццы занимает 5 секунд.
- Приготовление напитка — 2 секунды.
- Пока заказ готовится, пользователь может листать каталог или читать новости (то есть приложение не должно "зависать").
Задание
- Напишите программу, где есть две асинхронные функции:
cookPizza()иcookDrink(), которые используютFuture.delayedдля имитации времени ожидания. - Пока готовятся пицца и напиток, программа выполняет другую работу — например, выводит сообщения о “просмотре каталога”.
- После завершения приготовления программа сообщает: «Ваш заказ готов!»
Цель
Показать, как Future.wait и async/await позволяют “готовить всё параллельно” и не блокировать интерфейс.