Back to Basics: Efficient Async and Await - Filip Ekberg - NDC Oslo 2023

Поділитися
Вставка
  • Опубліковано 22 чер 2023
  • We've all experienced deadlocks, and we all hate them, but how do we prevent (and potentially fix) them?
    That's right, no one likes applications crashing or giving users an unexpected behavior.
    Introducing asynchronous patterns is so much more than just applying async and await to your methods; you really, I mean really, need to understand what's going on.
    In this session, we'll make sure you know how to avoid crashing your applications, and how to adhere to best practices when applying asynchronous patterns in our .NET applications.
    Check out our new channel:
    NDC Clips:
    @ndcclips
    Check out more of our featured speakers and talks at
    ndcconferences.com/
    ndcoslo.com/
  • Наука та технологія

КОМЕНТАРІ • 28

  • @Pemo99
    @Pemo99 7 місяців тому +3

    I really like the approach of explaining the role of the Task class before explaining Async and Aeait

  • @dereks6742
    @dereks6742 9 місяців тому +9

    The joke at the beginning was great! 🤣

  • @iamkaransethi
    @iamkaransethi 10 місяців тому

    Really useful. Clears a lot of my concerns on using these asynchronous keywords and concept. Great talk, Filip. Cheers!

  • @diegofaria8187
    @diegofaria8187 9 місяців тому

    Thank you for share your knowledge.

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

    It's was good material, thanks for sharing!

  • @onmico
    @onmico 9 місяців тому

    Great talk!

  • @user-tv2lb6co8h
    @user-tv2lb6co8h 11 місяців тому +5

    Awesome

  • @Tobarja
    @Tobarja 11 місяців тому +29

    I almost clicked away.

    • @seppe317777
      @seppe317777 11 місяців тому +2

      same 🤣

    • @Dominik-ji9qi
      @Dominik-ji9qi 11 місяців тому +2

      I actually clicked away but the second I hit the back arrow in my browser, he said it was a joke, so I restarted the video 😂

    • @climatechangedoesntbargain9140
      @climatechangedoesntbargain9140 11 місяців тому +1

      I clicked away after hearing C#, hoped for Rust

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

      Same , was like wtf js 😂😂

  • @BrianHallmanac
    @BrianHallmanac 10 місяців тому +4

    Regarding the statements on ConfigureAwait, does this mean we no longer need to add .ConfigureAwait(false) on "library code"?

    • @skypravda
      @skypravda 3 місяці тому

      Actually, we still do need it as our code can be used with a custom scheduler.

  • @JeffChentingwei628
    @JeffChentingwei628 11 місяців тому +3

    50:47 Streams

  • @PaulSebastianM
    @PaulSebastianM 11 місяців тому +3

    13:50 don't be fooled, while this may be funny now, reading code with bad naming conventions several days later will have you pulling your hairs out.

  • @Christobanistan
    @Christobanistan 3 місяці тому

    58:30 This makes no sense. In a .Net Core WPF, you still need to do things on the UI thread. Or are you expected to use the Dispatcher for all the UI code in an async method?

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

      But isn't WPFs binding engine taking care about dispatching updates on the UI thread?

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

    Did you just rick-roll the whole audience?

  • @anandshindey
    @anandshindey 6 місяців тому +1

    Nice, but like other presentations, avoids practical stuff, like call async from constructor.

  • @Christobanistan
    @Christobanistan 3 місяці тому

    I wish he'd explained the generated code better.

  • @TrickyCat
    @TrickyCat 10 місяців тому +4

    Sad to see that in 2023 the author was not able to pick a better topic for his talk than the one that has already been covered dozens of times in books, articles, video courses etc.
    Disappointed 😿

    • @MichaelBeck_profile
      @MichaelBeck_profile 9 місяців тому

      It’s strange … isn’t it? Such an old topic.

    • @justadude8716
      @justadude8716 9 місяців тому +11

      It's knowledge and you are not chained in an underground dungeon told "watch it, or else..." I found it helpful in reminding me of something I forgot over the years.

  • @roelf8044
    @roelf8044 4 місяці тому

    4:30 "you don't want to block that operation". Yes, I do. I very much want to block these operations. This is because most of the time the rest of the program relies on successful storage or retrieval of this data. I've worked on numerous web applications, some of which are public facing, serving thousands of users at the same time. And never did I experience thread starvation or extreme lagginess because of those waits. Async await is nice for apps (actually was invented because MS wanted to create Windows Phone). But not needed for web applications. Complete overkill. Web applications are already asynchronous by nature.

    • @artfulperch
      @artfulperch 4 місяці тому +1

      Sorry, maybe I've missed your point, but the purpose of using async in a web app (as far as I get it) is to let the thread be used by other requests. And of course you will have all the data you need at the await point to do whatever you need to form a response.

  • @patriciat.1643
    @patriciat.1643 9 місяців тому +1

    Anyone who has to watch it inevitably falls asleep.
    Who thinks it's great? Only the makers themselves.
    Groan-