Asynchroniczny C#

TerminologiaNr.1 Znasz definicję i terminologię powiązane ze współbieżnością. Nie wiesz, jak to działa w procesorze? Spoko o to wpis dla Ciebie. 

Współbieżność jest przydatna w każdej aplikacji. Nie ważne czy pracujesz w aplikacjach desktopowych, czy w aplikacjach mobilnych. Mamy rok 202X i obecnie wielowątkowość stała się wymaganiem. 

Z obecnymi komputerami użytkowników i serwerów istniejmy w punkcie, w którym programowanie asynchroniczne jest zalecane. Całkiem nie dawno zrobiłem prezentację na żywo o tej tematyce. Jak się okazało, był to mój najlepszy i najbardziej popularny LIVE. Dlaczego? O ile istnieje tona artykułów o podstawach i zaawansowanych funkcjach danego języka programowania. To widać wyraźnie, że nie ma dużo informacji o wielowątkowości w C#.

Uzupełnijmy więc tę lukę. W tym wpisie omówimy w pigułce, o co chodzi z tą wielowątkowością.

HistoriaNr.2 W tym wpisie zobaczmy ewolucję kodu .NET, jeżeli chodzi o asynchroniczność. Dlaczego? Warto być świadomym tego, dlaczego async i await jest taki wygodny w użyciu, zwłaszcza gdy zobaczysz dawne rozwiązania.

W poprzednim wpisie omówiliśmy terminologię oraz zrobiliśmy krótki wstęp na temat tego, jak  wątek i procesor działa. 

Teraz pora na przygodę po kodzie .NET w C#.

SynchroNr.3 Pora wejść głębiej w to, jak async i await działa. Po oczywiście pisanie teraz kodu jest łatwiejsze, ale wciąż nie unikniesz problemu z synchronizacją działania w naszej aplikacji. 

To jest jedno z tych zagadnienia, co w ogóle robi : ConfigureAwait i dlaczego Visual Studio czasem mi sugeruje, bym ustawił to na false.

Co może być przerażające, gdy zdaje sobie sprawę, że ten mechanizm działa inaczej w zależności od tego, czym nasza aplikacja jest.

Czy jest to konsola? Czy jest to aplikacja WPF, Windows Forms?

Czy jest to aplikacja Web, czyli ASP.NET Core? Czy jest to aplikacja na telefon?

Machine?Nr.4 W tym wpisie opowiem o "Awaitables". Jeżeli pracujesz z "async i await" prawdopodobnie słyszałeś te wyrażenie nie jeden raz.  Tylko nie miałeś czasu wniknąć czym ten "Awaitable" jest.

Awaitable reprezentuje typ, na który możemy czekać i wykonać operację przy pomocy słowa kluczowego "await".

 

Task i Task<T> są tymi typami "awaitable".

Wszystkie Kategorie