Współbieżność w języku C#. Receptury — Stephen Cleary

przez Karol Bocian | 24 maja, 2021
Współbieżność w języku C#. Receptury

 

Przeczytałem ostatnio książkę: Współbieżność w języku C#. Receptury. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

Notatki z książki: Współbieżność w języku C#. Receptury:

  1. Współbieżność – robienie więcej niż jednej rzeczy naraz.
  2. Wielowątkowość – forma współbieżności, w której korzysta się z wielu wątków wykonywania.
  3. Przetwarzanie równoległe – wykonywanie dużej ilości pracy poprzez rozdzielenie jej na wiele wątków.
  4. Programowanie asynchroniczne – forma współbieżności, która wykorzystuje obiekty typu future (zwane też odroczonymi) lub wywołania zwrotne w celu uniknięcia niepotrzebnych wątków. Operacja asynchroniczna podczas wykonywania nie blokuje pierwotnego wątku.
  5. Programowanie reaktywne – deklaratywny styl programowania, w którym aplikacja reaguje na zdarzenia.

Najważniejsze uwagi:

  • Dobrą praktyką jest zawsze wywoływanie metody ConfigureAwait i wznawianie kontekstu jedynie w razie potrzeby.
  • Jeżeli zaczynasz używać async, to używaj jej do końca i użyj await.
  • Paralell.Invoke obsługuje równoległość zadań typu rozwidlenie-złączenie.
  • Kolekcje współbieżne są zwykle bardziej efektywne niż zwykła ochrona regularnej kolejki za pomocą blokady.
  • Niemutowalność oznacza, że fragment danych nie może ulec zmianom.
  • Technika Expotential Backoff jest najlepszą praktyką ponawiania, która zapewnia, że nie zalejemy usługi internetowej ponownymi próbami.
  • Task.Delay możesz użyć w testach jednostkowych, ale w kodzie produkcyjnym używaj CancellationToken.

Ta książka, to książka do której warto co jakiś czas wrócić i przejrzeć ją.

Wszystkie posty związane z książkowymi wdrożeniami:

Źródła

Obraz główny

  • Praca własna

Materiały: Współbieżność w języku C#. Receptury:

  • Współbieżność w języku C#. Receptury — Stephen Cleary

 

Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

 

Kategoria: Książkowe wdrożenia Programowanie

O Karol Bocian

Programowanie i świat agentów programowalnych, który poznał na Wydziale Matematyki i Nauk Informacyjnych, wciągnął go w przemysł IT. W trakcie swojej praktyki zawodowej Karol zrozumiał, że nie ważne co się robi i kim się jest, ale wiedza z zarządzania przydaje się wszędzie. Rozpoczął studia na kierunku Zarządzanie i Inżyniera Produkcji. W przypadku Karola zarządzanie to nie tylko teoria czy praca, ale prawie każdy element jego życia, to jego pasja.