Skip to content

Commit ddf058e

Browse files
committed
#15 - Dart
1 parent 329bac0 commit ddf058e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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

Comments
 (0)