30 lines
1.0 KiB
Java
30 lines
1.0 KiB
Java
|
|
package edu.africa;
|
||
|
|
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
|
||
|
|
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
|
||
|
|
import edu.trip.AirplaneReservation;
|
||
|
|
import edu.trip.HotelReservation;
|
||
|
|
import edu.trip.Person;
|
||
|
|
import edu.trip.RentalCarReservation;
|
||
|
|
import edu.trip.Trip;
|
||
|
|
import java.util.concurrent.Executors;
|
||
|
|
import java.util.concurrent.Future;
|
||
|
|
|
||
|
|
public class TripToAfrica {
|
||
|
|
public static void main(String[] args) throws Exception {
|
||
|
|
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
|
||
|
|
Future<Float> future = executor.submit(() -> {
|
||
|
|
Trip trip = new Trip();
|
||
|
|
trip.theme = "Going To Africa";
|
||
|
|
trip.organizer= new Person();
|
||
|
|
trip.addReservation(new HotelReservation());
|
||
|
|
trip.addReservation(new AirplaneReservation());
|
||
|
|
trip.addReservation(new RentalCarReservation());
|
||
|
|
|
||
|
|
return trip.calculatePrice();
|
||
|
|
|
||
|
|
});
|
||
|
|
System.out.println("done: " + future.get());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|