¿Qué diablos es Task en C# .Net? Programación asíncrona

Поділитися
Вставка
  • Опубліковано 2 лис 2024

КОМЕНТАРІ • 179

  • @hdeleonnet
    @hdeleonnet  3 роки тому +54

    Si te ha gustado el video puedes apoyarme dejándome un pulgar arriba 👍
    Hashtag #pavadas

    • @angelm8937
      @angelm8937 3 роки тому

      Excelente bro

    • @pedroduran8927
      @pedroduran8927 3 роки тому +1

      Estaria interesante que hicieras un video de como cancelar una operacion de un task :) un saludo!

    • @cesarl.c.847
      @cesarl.c.847 3 роки тому

      Explicación clara y puntual. Excelente.

    • @werosinc585
      @werosinc585 2 роки тому

      Grande Hector, muchas gracias por el contenido, puro c#lover

  • @pablo.jr10
    @pablo.jr10 10 днів тому

    Excelente explicación y pude comprender el funcionamiento de Task de manera sencilla y por qué se pone el await y demás... sos crack!

  • @alfonsojesusfloresalvarado531
    @alfonsojesusfloresalvarado531 3 роки тому +56

    la recomendación es que async/await sean utilizados en operaciones de I/O (web services, bases de datos, networking, file system, etc) para que el procesador se libere y pueda ejecutar código mientras espera la respuesta del task. Otra ventaja es que en métodos anidados, si ponemos un await y la tarea aún sigue ejecutándose, en el método padre se puede seguir ejecutando código hasta que se encuentra un nuevo await

    • @davidgtzc
      @davidgtzc 2 роки тому

      Es como el Join en los threads?

    • @michaelcerdas359
      @michaelcerdas359 2 роки тому +3

      En las interfaces graficas también se necesitan tas tareas e hilos, sino la interfaz se congela hasta que la tarea termine

    • @Dennisbot
      @Dennisbot Рік тому +2

      la parte "en el método padre", supongo que te refieres al caller o el método donde llamamos a resultados asíncronos, en este caso no continúa ejecutándose (a menos que no uses el `await` delante del método asíncrono que estás llamando desde el caller), si usamos await por delante, el caller espera el resultado, la diferencia en este caso reside en el hecho de que nuestro caller "se libera", es decir nuestro caller no se bloquea esperando el resultado del await, solo se "encola" la tarea hasta que el resultado del await llegue, liberando al CPU para que pueda hacer otras tareas, una vez el resultado del await llegue, nuestro proceso principal (del caller) se reanuda, continuando la ejecución regular, como si de un programa síncrono se tratara. Lo importante a notar acá es que ya no bloqueamos a nuestro hilo principal cuando estamos esperando por resultados I/O sino se pone en pausa y notifica al procesador que se libere hasta que `await` nos avise que ya podemos reanudar nuestra ejecución principal, de esta forma nuestro procesador tendrá tiempo para hacer otras cosas.
      Una analogía fácil sería que antes hacíamos colas para que nos atiendan (las personas por delante eran nuestros procesos I/O) pero ahora tu puedes sacar una cita y simplemente vas a la hora que te toca en lugar de estar esperando en la cola (en este caso te evitas el tiempo de hacer cola y en su lugar puedes hacer otras cosas de tu día a día)

  • @VictorCCarballosa
    @VictorCCarballosa Рік тому +4

    Hermano.... mira que he buscado información sobre programación asíncrona... en 15 minutos he aprendido más que en 2 horas de clases...Muchas gracias.

  • @KolepMorf
    @KolepMorf 2 місяці тому

    Saludos desde Cusco, gracias por la explicación, simple y directo, sigue adelante.

  • @adrianrubio4832
    @adrianrubio4832 3 роки тому +18

    Excelente, muy bien explicado. Me gustan tus publicaciones. Como programadores hay conceptos que para entenderlos te pueden llevar semanas de búsqueda y lecturas, gracias por compartir en 15 minutos lo que seguro al inicio te pudo llevar más que eso.

  • @correajoel
    @correajoel 3 роки тому +10

    Lo explicaste muy bien, sencillo con ejemplos. Me hubiera gustado tener este video 6 años atrás jajaja. Mil gracias

  • @walterzamarron4856
    @walterzamarron4856 3 роки тому +4

    He comprendido más conceptos de c# que nunca. Felicidades #elpavadas 👍

  • @cristiancortes1097
    @cristiancortes1097 8 місяців тому

    Gracias Hector, aportas mucho a la comunidad, Dios te bendiga!

  • @diegoimberti4398
    @diegoimberti4398 3 роки тому +4

    Excelente. Recibe un saludo desde España...

  • @jesuspereiraoficial
    @jesuspereiraoficial 3 роки тому +2

    Eres el mejor explicando C#. Gracias por tus videos Bro.

  • @jonathandaza5568
    @jonathandaza5568 Рік тому +4

    Qué buen video, sería bueno que adicional a este video crearas uno explicando Task.FromResult y Task.CompletedTask, saludos hermano!

  • @hugoantonioayala7756
    @hugoantonioayala7756 3 роки тому

    Saludos desde Italia de un paraguayo. Excelentes tus videos!

  • @jonathanaguilera8163
    @jonathanaguilera8163 Рік тому

    Eres el único que si explica bien

  • @conchita-ud8jc
    @conchita-ud8jc 3 роки тому

    No le habia entendido a nadie hasta que vi este video. Buena explicacion

  • @keiryliza
    @keiryliza 3 роки тому +4

    Hasta que por fin he comprendido las tareas en C#. Solía utilizar Background una herramienta disponible en C# en dónde hacía las tareas en segundo plano tal como respaldar una base de datos en un hilo secundario a tu main..
    Gracias por el vídeo 🙏

  • @helriper27hr
    @helriper27hr 2 роки тому +1

    La mejor explicación para async & await de todo internet 👍

  • @vladimiracosta1044
    @vladimiracosta1044 Рік тому +1

    Excelente video, gracias por estos vídeos cortos dónde nos enteramos de ciertas funcionalidades y cosas que son muy útiles y que en algunos caso tenemos que reinventar la rueda por el simple echo de no saber que ya existe algo que soluciona el problema

  • @eduardoalbarado
    @eduardoalbarado 2 роки тому

    Saludos desde Argentina

  • @estebangomez8425
    @estebangomez8425 3 роки тому +4

    14 minutos bien chingones.... !!

  • @Jaracara11
    @Jaracara11 3 роки тому +1

    hombre excelente video y gran forma de explicar!
    Un saludo desde Rep Dom!

  • @carlosazahuancheleyva
    @carlosazahuancheleyva 2 роки тому +1

    Hola Hector.! este es el primero de tus videos que he visto y dejame decirte que explicas muy bien, te felicito 👏

  • @karinalejandrolugogutierre5395

    muy buen video, he aprendido c# contigo, saludos desde Venezuela.

  • @bababavasadadada9441
    @bababavasadadada9441 29 днів тому

    Dios te bendiga mijo

  • @cruzej2228
    @cruzej2228 Рік тому

    Saludos buen video, anteriormente programe en Windows form pero deje durante unos años de programar ahora que regreso a c# y aprender asp.net eh encontrado muchas cosas nuevas e interesante y tus videos me están sirviendo.

  • @dantedullka6388
    @dantedullka6388 Рік тому

    Excelente! Tus explicaciones son muy claras, necesitaba entender esto y ha quedado mas que claro!

  • @chascruzrm2
    @chascruzrm2 2 роки тому +1

    Hola Hector, muy bueno tu canal, los videos que he visto hasta ahora están muy bien explicados y sin falacias o verdades a medias. Es difícil encontrar videos pros como estos en UA-cam y que además estén en español. Gracias.

  • @runainoriginal
    @runainoriginal 3 роки тому +4

    Aunque soy solo una aprendiz , tu explicación es super clara!muy bueno

  • @jesusvazquez4033
    @jesusvazquez4033 7 місяців тому

    Buenísimo. Paso a paso desde lo más básico.

  • @CAGUANET121
    @CAGUANET121 3 роки тому +1

    Excelente Hector la sigues sacando del estadio. Gracias por compartir conocimiento.

  • @emmanuelmejia4220
    @emmanuelmejia4220 2 роки тому

    Extremadamente claro. Soy fan a partir de este video. Saludos.

  • @CesarSilvaR
    @CesarSilvaR 3 роки тому +4

    Me cayó como anillo al dedo, muy bien crack

  • @miguelcarhuas3183
    @miguelcarhuas3183 2 роки тому

    Eres un capo Héctor!, me sirvió de mucho

  • @cristianmendozaJesusTeAma
    @cristianmendozaJesusTeAma 3 роки тому +4

    Excelente, por fin entendi como hacer un task

  • @isai7713
    @isai7713 Рік тому

    Hola, gracias por la explicación, soy tu fan!

  • @kevynsiquin5959
    @kevynsiquin5959 8 місяців тому

    Gracias, me ayudó a entender y a poder implementarlo

  • @Valhalla_Code
    @Valhalla_Code 3 роки тому +1

    Recién empecé a leer sobre métodos async y esto me dejo mas claro de como usarlos. Eternamente agradecido.

  • @pedroduran8927
    @pedroduran8927 3 роки тому +1

    Me encanta tu canal, explicas muy bien Hector. Y tus videos son super entretenidos de ver. 10/10

  • @sgssergio
    @sgssergio 2 роки тому

    La imolementacion de Task es genial, es un wrapper de Threads que hace que manipular hilos se muy sencillo. Vengo de las época de ma eso de hilos en C, C++ y viejas versiones de .net y Admito que era un dolor de cabeza usarlos, hilos, semáforos, funciones de callback para manipular las respuestas , enviarles parámetros a tareas también tenía su complicación.

  • @ysnaldojoselopez1730
    @ysnaldojoselopez1730 2 роки тому

    Gracias a ti entendi este tema despúes de buscar muchos recursos.

  • @ramoneliasrodriguezalba7427
    @ramoneliasrodriguezalba7427 2 роки тому

    Magistralmente explicado. Te felicito!!!

  • @santidogor
    @santidogor 3 роки тому +1

    Buenas, soy nuevo en tu canal. La verdad la teoría la conozco, por lo menos lo básico y en que casos usar estos async, pero no sabia muy bien como implementarlo en .net o como funciona. Tuve que implementar un Quartz y estuve 1 semana aprox para hacerlo y entendia apenas lo que estaba haciendo. Con este video entendi y ahora sé como mejorar el desarrollo que hice. Explicas muy bien lo que aprendiendo solo te puede tomar hasta el quintuple de tiempo. Ahora voy de camino por las buenas practicas, pero tu canal me va ayudar muchisimo. Saludos

  • @virusmelissa6948
    @virusmelissa6948 2 роки тому

    ¡MUY CLARO! Muchas gracias. Enhorabuena Maestro. ✌😃

  • @adolphin6041
    @adolphin6041 Рік тому

    Gracias profe. Estaba ejecutando un Process que me guardaba un archivo .pfx en una carpeta y en la siguiente linea inmediatamente buscaba el archivo para obtenerlo, pero al parecer cuando lo buscaba no existía, con esto me di cuenta que tenia que esperar hasta que el proceso terminara de crear el archivo asíncronamente para después hacer uso del archivo

  • @andressolanogarcia2122
    @andressolanogarcia2122 3 роки тому +2

    Muy buena explicacion, y muy necesaria. Gracias

  • @alejandrarubio3675
    @alejandrarubio3675 2 роки тому

    Mejor imposible Héctor sos un genioooooooooooooooooooooo.

  • @gabrielroman3813
    @gabrielroman3813 Рік тому

    Buena explicación, bro. Saludos

  • @osr2004snd
    @osr2004snd 8 місяців тому

    No se si ya tienes videos de Task chaining, el manejo de los token para detener las task y muchas otras funciones que también aplican. Esto es parte importante del desarrollo backend.

  • @elweonweandolaweafome
    @elweonweandolaweafome 5 днів тому +1

    Task abrón!

  • @mauricioantoniozunigarojas5379
    @mauricioantoniozunigarojas5379 2 роки тому

    tus videos me gustan mucho, he visto varios y abordas inquietudes sobre c# que otros sitios no lo hacen, como este. ojala sigas subiendo cosas, saludos

  • @patriciopoov.4035
    @patriciopoov.4035 3 роки тому +2

    muy claro el ejemplo. ¿podrias extenderte en la diferencia entre usar task vs thread? con est no logro ver cual es la ganancia de usar uno u otro. gracias

  • @gonzaloportada2755
    @gonzaloportada2755 2 роки тому

    Hola ! Pasaba a dejarte un comentario agradeciéndote por todos los videos tuyos y lo bien explicado de tu contenido, me estas ayudando mucho a entender cosas que tengo que hacer en mi dia a dia! Gracias y saludos desde Argentina ❤

  • @marloncode
    @marloncode Рік тому

    Claro y directo, Gracias amigo!

  • @maurowasil3744
    @maurowasil3744 2 роки тому

    Muy buena la explicación!

  • @WarsxX1
    @WarsxX1 3 роки тому +1

    Excelente vídeo! muy necesario... Gracias!

  • @gabrielromo3535
    @gabrielromo3535 Рік тому

    excelente explicación, saludos ✌

  • @sebasgomezvasco
    @sebasgomezvasco 3 роки тому

    Héctor, saludos desde Colombia. Muy buenos los videos.

  • @brandonlopez6328
    @brandonlopez6328 Рік тому

    Gracias bro! Excelente video!

  • @suscrpcionesvarios7648
    @suscrpcionesvarios7648 2 роки тому

    Entendible explicación!

  • @cimarron331
    @cimarron331 Рік тому

    Excelente explicacion.

  • @WaldoCalcagno
    @WaldoCalcagno 3 роки тому +1

    Excelente! Super claro. Muchas gracias.

  • @ezequielbenitez1137
    @ezequielbenitez1137 Рік тому

    Buenisimo el video Hector! Muchas gracias!

  • @andresamortegui91
    @andresamortegui91 2 роки тому

    Excelente video. Estoy ingresando en el mundo de asincronismo y este video ha sido de mucha ayuda para seguir aprendiendo estos temas.

  • @rubengaona1300
    @rubengaona1300 3 роки тому +1

    Puedes hacer uno especificando las funciones y del diccionary, soy fiel seguidor Hector gracias

  • @spartanzarazua117
    @spartanzarazua117 2 роки тому +2

    Muy buen video, estaría padre ver luego una serie de vídeos con task o uno que compare task con thread.

  • @samuelquispe2868
    @samuelquispe2868 3 роки тому

    Excelente video, tus seguidores te pedimos más ejemplos de async await y Windows form. Con ejemplos de casos reales 🙏🙏. Gracias ayudas a muchos. Te amamos Hector

  • @sergiodeluca9062
    @sergiodeluca9062 6 місяців тому

    Excelente tus videos Héctor.
    Cuánto tiempo te llevó aprender todo lo que sabes?

  • @spartanzarazua117
    @spartanzarazua117 2 роки тому +1

    Muy buen video, podrías hacer uno de manejo de logs con task.

  • @devy1451
    @devy1451 Рік тому

    muchas gracias por la explicación, por favor sería bueno una lista de curiosidades así, cosas simples pero muy útiles y poco conocidas, al menos para mi.

  • @patriciarivera5848
    @patriciarivera5848 3 роки тому

    Excelente explicación Héctor! Este es uno de los temas que más me costó aprender, esta explicación me hubiera salvado de muchas en la universidad 😅

  • @leonardojavierrossi4399
    @leonardojavierrossi4399 2 роки тому

    Hola como andas?? Excelente explicación, muy bueno

  • @frankfervela
    @frankfervela Рік тому

    Video super duro!! Gracias!

  • @ricardogracia9703
    @ricardogracia9703 3 роки тому +1

    Está muy chido, estaría interesante que hicieras un ejemplo de asíncronia con consultas a bases de datos

    • @hdeleonnet
      @hdeleonnet  3 роки тому +2

      ua-cam.com/video/6pNvTvKJPTQ/v-deo.html

  • @michelemmanuelgarcialopez7798
    @michelemmanuelgarcialopez7798 2 роки тому

    excelente videooo, una duda con esto puedo aplicarlo al llamr un job y esperar a que termine , mi duda es si en los milisegundos tengo que poner el tiempo que puede tardar el job en ejecutar

  • @bvillalobos
    @bvillalobos 2 роки тому

    Muy bueno amigo gracias

  • @francovedia5584
    @francovedia5584 Рік тому

    Gracias

  • @jorgecardona3432
    @jorgecardona3432 Рік тому

    Excelente video!

  • @sombras_extranhas
    @sombras_extranhas 11 місяців тому

    Gracias, solo que me quedo la duda entre Task y Thread, porque pareciera que funcionan de manera similar, aunque imagino que Thread trabaja de diferente forma

  • @facundoadriannarvaiz1136
    @facundoadriannarvaiz1136 3 роки тому +1

    muy buenos tus videos hector,, agarrando cosas puntuales.
    Un dia podrias hacer como generar un setup con click one. para q los nuevos sepan como publicar sus proyectos de winforms

  • @deboramarcial9975
    @deboramarcial9975 3 роки тому

    sos un groso explicando !! gracias papu :*

  • @cesaraugusto66
    @cesaraugusto66 2 роки тому

    Gracias Hector :D

  • @adrian.vasquez.2002
    @adrian.vasquez.2002 2 роки тому

    buena explicación crack!

  • @GamerChile
    @GamerChile 3 роки тому +1

    Gracias por el video muy bueno

  • @JuanChehin
    @JuanChehin 2 роки тому +1

    Hola, buen video, una consulta, cuando se pone 'await' quiere decir que un hilo queda esperando a que se termine la tarea , pero los demas hilos del procesador siguen ejecutanto otras tareas?

  • @faraday58
    @faraday58 3 роки тому

    Excelente y claro que agradecería más vídeos de hilos.

  • @suscrpcionesvarios7648
    @suscrpcionesvarios7648 2 роки тому

    Bien explicado.

  • @emilioandresfilotti560
    @emilioandresfilotti560 3 роки тому

    Muy bueno el video!

  • @lewinviola1393
    @lewinviola1393 3 роки тому +1

    Buen vídeo y muy bn explicado . Grax :)

  • @prohibited1125
    @prohibited1125 Рік тому

    buenisimo el video

  •  3 роки тому

    buenísisisimo, gracias!!!

  • @ajhhx
    @ajhhx 2 роки тому

    Man, aviéntate un video donde uses eso de theads pool, donde se puedan lanzar tantos procesos como permita el SO y conforme se vaya liberando/terminando un proceso en corto iniciar otro. El contexto para que me gustaría ocuparlo es para crear un servicio de windows que convierta videos de un formato a otro con ffmpeg, actualmente mi proceso solo convierte un video a la vez pero tarda un friego y son chorro de videos que se generan día a día y quisiera ajustar la aplicación para realizar varios procesos de conversión en paralelo. Saludos!

  • @federicoacuna156
    @federicoacuna156 3 роки тому +1

    Muy bien video, necesitaba algo asi 👌

  • @lucasllamas3167
    @lucasllamas3167 3 роки тому

    Papaaaaa, sos un groso!! me solucionaste una torta de problemas :3

  • @javiersilva-ww5uq
    @javiersilva-ww5uq 3 роки тому +1

    Gracias !!! Que grande

  • @pedrocano3798
    @pedrocano3798 3 роки тому +1

    Excelente contenido

  • @91mavo
    @91mavo 3 роки тому

    gracias.

  • @rodalexnavarrete18
    @rodalexnavarrete18 3 роки тому

    Hola excelente tu video, quizas podrias guiarme estoy tratando de llenar dos grids en una misma pantalla pero quiero q sea async, es decir el un grid lo consulto desde mi base y es rapido, pero el segundo es desde un WS externo, entonces tengo el problema que al consultar un dato el grid desde mi base demora lo mismo que el grid desde el WS, por eso quiisera hacerlo asincrono, por fa como lo podria hacer, gracias

  • @KoffeeCoding
    @KoffeeCoding 3 роки тому +1

    Grande el power de leon

  • @edustreamimg
    @edustreamimg 3 роки тому

    Una duda. Si tengo que lanzar un conjunto de consultas a la bd que no tienen relación entre ellas pero a posteriori ese conjunto de resultados me va a servir para mostrar un dash en ese caso podria usar task con cada query no? y deberia hacer el await de todos los task. Si tengo consultas dependientes, es decir si la consulta n se debe ejecutar con algun valor de n-1 no tiene sentido usar task cierto?

  • @chacataplan
    @chacataplan 2 роки тому

    Wow q tal explicación y con cucharita, gracias!!!!!