Skip to content

Commit 22533c7

Browse files
committed
Create davidrguez98.py
1 parent 6d27fae commit 22533c7

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
#EJERCICIO
22+
import datetime
23+
import time
24+
import asyncio
25+
26+
async def task(name: str, duration: int):
27+
28+
print(f"Tarea: {name}. Duración: {duration}s. Inicio: {datetime.datetime.now()}")
29+
await asyncio.sleep(duration)
30+
print(f"Tarea: {name}. Fin: {datetime.datetime.now()}")
31+
32+
asyncio.run(task("1", 2))
33+
34+
#DIFICULTAD EXTRA
35+
36+
async def async_tasks():
37+
await asyncio.gather(task("C", 3), task("B", 2), task("A", 1))
38+
39+
asyncio.run(async_tasks())
40+
asyncio.run(task("D", 1))

0 commit comments

Comments
 (0)