1
+ /*
2
+ * EJERCICIO:
3
+ * Utilizando tu lenguaje, crea un programa capaz de ejecutar de manera
4
+ * asíncrona una función que tardará en finalizar un número concreto de
5
+ * segundos parametrizables. También debes poder asignarle un nombre.
6
+ * La función imprime su nombre, cuándo empieza, el tiempo que durará
7
+ * su ejecución y cuando finaliza.
8
+ *
9
+ * DIFICULTAD EXTRA (opcional):
10
+ * Utilizando el concepto de asincronía y la función anterior, crea
11
+ * el siguiente programa que ejecuta en este orden:
12
+ * - Una función C que dura 3 segundos.
13
+ * - Una función B que dura 2 segundos.
14
+ * - Una función A que dura 1 segundo.
15
+ * - Una función D que dura 1 segundo.
16
+ * - Las funciones C, B y A se ejecutan en paralelo.
17
+ * - La función D comienza su ejecución cuando las 3 anteriores han
18
+ * finalizado.
19
+ */
20
+
21
+ import 'dart:async' ;
22
+
23
+ void main () async
24
+ {
25
+
26
+ //Ejecución en paralelo
27
+ List <Future <void >> functions = [
28
+
29
+ showName ('Función C' , 3 ),
30
+ showName ('Función B' , 2 ),
31
+ showName ('Función A' , 1 )
32
+ ];
33
+
34
+ await Future .wait (functions);
35
+
36
+ await showName ('Función D' , 1 );
37
+ }
38
+
39
+ Future <void > showName (String name, int duration) async
40
+ {
41
+ await Future .delayed (Duration (seconds: duration));
42
+ print ('Soy $name ' );
43
+ }
0 commit comments