C# .NET Kurs: Programowanie asynchroniczne (async / await )



Kurs web API: https://tinyurl.com/ASP-NET-WEB-API-IX
Kurs wzorców projektowych: https://tinyurl.com/WZORCE-SOLID-IX

W tym materiale dowiesz się:
czym różni się kod synchroniczny od asynchronicznego
do czego służa słówka kluczowe async i await
poznasz też typ Task i jego generyczne wersje
zobaczysz jak wykonywać wiele zadań równolegle oraz jak wstrzymać wykonianie programu asynchronicznie
a poza tym przeanalizujemy obsługę wyjątków z metod asynchronicznych

Na koniec przygotowałem mały quiz, w którym możesz sprawdzić czy udało Ci się zrozumieć mechanizm asynchronicznego wywołania metod

Zapraszam na serwer Discord:
https://discord.gg/UDHXQxhM4r

Kod źródłowy:
https://github.com/jakubkozera/CSharpCourse/tree/10-01-async-programming

00:00 Wstęp
05:10 async & await
12:50 Generyczny Task
16:13 Równoległe zadania
22:40 Wstrzymywanie wykonania
26:56 Asynchroniczne wyjątki
35:05 Quiz

Fb: https://www.facebook.com/Fullstack-Developer-107018144440304

#csharp #dotnet #kurs #poradnik

22 Comments

  1. Jaką mamy pewność, że przy wykonywaniu tasków równolegle, kilka tasków nie będzie nadpisywać wartości totalLength w tym samym momencie? (totalLength += file.Content.Length;)

  2. czy jest jakis fajny sposob jak w metodzie whenAll zagwarantowac kolejność? Potrzebuje wywołać takie coś tylko zależy mi na kolejności… czy musze je potem przesortować wgl jakiegoś klucza czy mogę to zrobić optymalniej ( mam bardzo dużo danych 😣 ) Proszę o poradę

  3. Oglądam i oglądam, i NIBY wszystko jest jasne, ale jak próbuję w praktyce zastosować, zawsze coś jest nie tak. A to nie można wywołać async, a to nie zwraca tego, co trzeba itp
    I od kilku dni się męczę z jedną rzeczą, na którą nigdzie nie mogę znaleźć odpowiedzi. Jak w Winforms otworzyć jedno okno Form z drugiego asynchronicznie tak, żeby okno dziecko nie blokowało okna rodzica. Czy da się to zrobić używając async/await, czy tylko Background Workerem? Jak wstawiam await na samo wywołanie okna (await Task.Run(() => childForm.Show());) to okno dziecko się otwiera, nie ma błędów i rodzica nie blokuje, ale samo okno dziecko jest zablokowane i nawet się w nim kontrolki nie odrysowują.

  4. Mistrzostwo świata. Dobór przykładów + średnio szybkie jasne tłumaczenie + świetna jakość dźwięku (dobry mikrofon) tworzy materiał doskonały. Na pewno przeglądne Twoje kursy, pozdrówka i subik.

  5. Cześć, czy w obecnych czasach podczas tworzenia api w .net core całość powinna być już pisana asynchronicznie? Pozdrawiam

  6. Nie ogarniam tego. korzystam z tego w .net bo są dostepne metody kompatybilne z asynchronicznością. Jedyne co tylko robię to dodaje async, await w serwisie i kontrolerze no i Task. Niby async await nie blokuje wątku głównego, a jednak go pałzuje? To nie jest logiczne dla mnie. Nie wiem zawiesiłem się na tym. To jest dla mnie czarna magia jakaś na ten moment.

  7. Pomysł super, ale żeby był efekt wow to musiałem stworzyć z 1000 plików, bo mój komputer przeprocesował 5 w 3ms…

  8. ,, kod wykonuje sie na wielu watkach jedniczesnie,, – no chyba nie do końca… Asynchronicznosc nie polega na uruchamianiu nowycj wątków, moglbys to rozwinąć?

  9. Świetnie się ogląda te twoje materiały! Robiłam z nich nawet powtórkę do obrony pracy inż. (wczoraj obroniłam). Mam przy okazji pytanie, czy planujesz coś o delegatach?

  10. Fajny materiał 🙂 Mam jednak pytanie, ,, kod wykonuje się na wielu wątkach jednoczensie,, , w internecie jest sporo artykułów ze programowanie asynchroniczne to nie programowanie wielowątkowe, czy mógłbys to wytłumaczyć prostymi słowami? ( jako początkujący wciaz nie do konca rozumiem jaka jest roznica) myśle, że wiele osób skorzysta na Twojej odpowiedzi 🙂

Leave a Reply

© 2023 53GB