- Wydawnictwo:
- Helion
- Ocena:
- 4.5/6 Opinie: 6
- Stron:
- 112
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi

Opis ebooka: Asynchroniczność i wielowątkowość w języku C#
Przejdź na wyższy poziom C#
Programowanie wielowątkowe pozwala wykonywać różne czynności z wykorzystaniem więcej niż jednego wątku. W efekcie zwiększa się wydajność operacji, które były ograniczone parametrami procesora. W dodatku dzięki zastosowaniu programowania wielowątkowego zadania można wykonywać w tle, bez pogorszenia responsywności aplikacji. Asynchroniczność umożliwia także zachowanie responsywności aplikacji użytkowych oraz zwiększenie skalowalności aplikacji serwerowych.
Brzmi obiecująco. Niestety, programowanie z wykorzystaniem wątków i asynchroniczności nie należy do najprostszych. Jest to dziedzina z natury skomplikowana i błędogenna, także w języku C#. Ten poradnik zbiera i zwięźle tłumaczy wszystkie zagadnienia związane z asynchronicznością i wielowątkowością w C#. Poszczególne tematy uzupełniono przykładami, pomagającymi lepiej zrozumieć problem, którego rozwiązanie można zastosować później w praktyce. Dla wygody w korzystaniu z książki każdy koncept opisano oddzielnie, jednak by go zrozumieć, trzeba przyswoić wiedzę z poprzednich rozdziałów.
- Dowiedz się, na czym polega wielowątkowość w C#
- Opanuj zasady programowania równoległego
- Naucz się programować asynchronicznie
- Poznaj podstawowe zasady synchronizacji
Wybrane bestsellery
-
Dzięki tej książce nauczysz się używania struktur danych i implementacji najważniejszych algorytmów w języku C#. Najpierw zapoznasz się z najprostszymi strukturami danych o swobodnym dostępie — z tablicami oraz listami. Wyjaśniono tu również działanie struktur danych o dostępie sekwencyjnym...
Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji
-
Książka „C#. Zadania z programowania z przykładowymi rozwiązaniami” na konkretnych przykładach pokaże Ci, jak program napisany w języku C# komunikuje się z użytkownikiem poprzez operacje wejścia-wyjścia. Dowiesz się, jakie operatory będą Ci potrzebne i do czego można ich używać. Pozna...
C#. Zadania z programowania z przykładowymi rozwiązaniami C#. Zadania z programowania z przykładowymi rozwiązaniami
(12.45 zł najniższa cena z 30 dni)13.70 zł
24.90 zł(-45%) -
Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowa...
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
(103.35 zł najniższa cena z 30 dni)119.25 zł
159.00 zł(-25%) -
Praktyczny przewodnik po podstawach Visual C# przy użyciu Visual Studio 2022 Poszerz swoje umiejetności i samodzielnie poznawaj podstawy programowania w najnowszej wersji Visual C# i Visual Studio 2022. Znajdziesz tu niezbędne wskazówki, ćwiczenia i przykładowy kod, niezbędne do tworzen...(134.10 zł najniższa cena z 30 dni)
134.10 zł
149.00 zł(-10%) -
Ta książka ma pełnić funkcję użytecznej ściągawki zawierającej wszystko, co potrzebne do pracy z C#. Została pomyślana tak, aby maksymalnie ułatwić przeglądanie i odnajdywanie potrzebnych treści — i tym samym wesprzeć pracę każdego, komu zależy na sprawnym pisaniu kodu w języku C#. Jest też...(32.44 zł najniższa cena z 30 dni)
37.42 zł
49.90 zł(-25%) -
This book shows you how to use the fundamental components of gRPC on .NET. In addition to covering the core technical functionality of gRPC, the book also explains best practices for using it optimally.
Microservices Communication in .NET Using gRPC. A practical guide for .NET developers to build efficient communication mechanism for distributed apps Microservices Communication in .NET Using gRPC. A practical guide for .NET developers to build efficient communication mechanism for distributed apps
-
Ta książka jest praktycznym wprowadzeniem do tworzenia gier 2D w Unity. Dokładnie wyjaśniono w niej filozofię działania tego środowiska i zasady projektowania gier korzystających z silnika Unity. Starannie opisano takie zagadnienia jak arkusze duszków, dzielone kafelki i mapa kafelków. Omówiono r...
Jak pisać świetne gry 2D w Unity. Niezależne programowanie w języku C# Jak pisać świetne gry 2D w Unity. Niezależne programowanie w języku C#
(29.50 zł najniższa cena z 30 dni)32.45 zł
59.00 zł(-45%) -
Dzięki tej książce zrozumiesz praktyczne znaczenie złożoności dziedziny i behawioralnych aspektów języka dziedzinowego. Poznasz podstawowe zasady DDD i nauczysz się używać takich narzędzi jak EventStorming, Event Sourcing i CQRS. Dowiesz się, jak stosuje się DDD do różnych stylów architektoniczny...
Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji
(64.35 zł najniższa cena z 30 dni)74.25 zł
99.00 zł(-25%) -
Książka, którą trzymasz w ręku, to znakomity podręcznik do nauki programowania od podstaw. Autor, wieloletni wykładowca akademicki i nauczyciel studentów informatyki, proponuje naukę programowania w języku C#. To wybór nieprzypadkowy. C# jest nowoczesnym, obiektowym, stale rozwijanym i popularnym...
C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core
(59.50 zł najniższa cena z 30 dni)65.45 zł
119.00 zł(-45%) -
Jeśli znasz już podstawy testowania jednostkowego, dzięki tej książce nauczysz się projektowania i pisania testów, które obierają za cel model domeny i pozostałe kluczowe obszary kodu. Ten przejrzyście napisany przewodnik poprowadzi Cię przez proces tworzenia zestawów testowych o optymalnej warto...
O autorze ebooka
Grzegorz Lang ― zawodowy programista .NET, Application Developer w międzynarodowej korporacji Atos (w oddziale Poland Global Services). Zajmuje się kluczowym projektem wewnętrznym, jest w nim Lead Backend Developerem. W języku C# programuje od 2013 roku.
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły ebooka
- ISBN Książki drukowanej:
- 978-83-283-7295-5, 9788328372955
- Data wydania książki drukowanej:
- 2021-03-09
- ISBN Ebooka:
- 978-83-283-8024-0, 9788328380240
- Data wydania ebooka:
-
2021-03-09
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 140x208
- Numer z katalogu:
- 122630
- Rozmiar pliku Pdf:
- 1.3MB
- Rozmiar pliku ePub:
- 3.2MB
- Rozmiar pliku Mobi:
- 7.0MB
- Pobierz przykładowy rozdział PDF
Spis treści ebooka
- Krótka historia powstawania wielowątkowości 10
- Wyjaśnienie pojęć związanych z wątkami 11
- 1.1. Klasa Thread 15
- 1.1.1. Wykonywanie pracy w tle 16
- 1.2. Klasa ThreadPool 17
- 1.2.1. Rodzaje kolejek 17
- 1.2.2. Metoda UnsafeQueueUserWorkItem 18
- 1.3. Klasa Task 19
- 1.3.1. Porównanie z klasą Thread 19
- 1.3.2. Porównanie z klasą ThreadPool 20
- 1.3.3. Metody Wait, WaitAll i WaitAny 20
- 1.3.4. Właściwość Result 20
- 1.3.5. Metoda ContinueWith 21
- 1.3.6. Opcja AttachedToParent 21
- 1.3.7. Metoda StartNew właściwości Factory 22
- 1.3.8. Metoda Run 22
- 1.3.9. Enumeracja TaskStatus 24
- 1.4. Klasa TaskFactory 26
- 1.5. Struktura CancellationToken 27
- 1.5.1. Korzystanie ze struktury CancellationToken 27
- 1.6. Klasa CancellationTokenSource 29
- 1.7. Klasa Timer 30
- 1.8. Klasa TaskCompletionSource 32
- 1.9. Klasa SynchronizationContext 33
- 1.10. Klasa TaskScheduler 35
- ĆWICZENIA DO ROZDZIAŁU 1. 37
- 2.1. Klasa Parallel 41
- 2.1.1. Metoda For 41
- 2.1.2. Metoda ForEach 41
- 2.1.3. Metoda Invoke 42
- 2.2. Technologia PLINQ 43
- 2.3. Klasa Partitioner 45
- 2.3.1. Optymalizacja krótkich operacji 46
- 2.4. Porównanie z klasą Task 47
- ĆWICZENIA DO ROZDZIAŁU 2. 48
- 3.1. Transformacja kodu asynchronicznego 51
- 3.2. Słowo kluczowe await 52
- 3.2.1. Porównanie z metodą ContinueWith 52
- 3.2.2. Użycie wraz z metodą Run 53
- 3.2.3. Współbieżność await 54
- 3.3. Słowo kluczowe async 55
- 3.3.1. Asynchroniczne wyrażenie lambda 55
- 3.3.2. Metoda z sygnaturą async void 56
- 3.3.3. Opis wykonywania się metody asynchronicznej 56
- 3.3.4. Sposoby radzenia sobie z wielokrotnymi wywołaniami 57
- 3.3.5. Sztuczna synchroniczność i asynchroniczność 58
- 3.4. Asynchroniczność wewnątrz LINQ 59
- 3.5. Zadania zakończone 60
- 3.6. Metoda Yield 61
- 3.6.1. Porównanie z właściwością CompletedTask 61
- 3.7. Interfejsy asynchroniczne 62
- 3.7.1. Interfejs IAsyncEnumerable
62 - 3.7.2. Interfejs IAsyncDisposable 63
- 3.8. Własna implementacja 64
- 3.9. Rady dotyczące programowania asynchronicznego 65
- 3.9.1. Używanie metody ConfigureAwait 65
- 3.9.2. Wykonywanie metody asynchronicznej synchronicznie 65
- 3.9.3. Użycie await bezpośrednio przed zwróceniem metody 66
- 3.9.4. Asynchroniczność w konstruktorze 66
- 3.9.5. Przeciążenie przyjmujące delegat Func
67 - 3.9.6. Bardzo długo wykonująca się praca 67
- 3.10. Struktura ValueTask 68
- 3.10.1. Interfejs IValueTaskSource 68
- 3.10.2. Konsumowanie ValueTask 69
- 3.10.3. Porównanie z klasą Task 70
- ĆWICZENIA DO ROZDZIAŁU 3. 71
- 4.1. Podstawowe elementy synchronizacji 75
- 4.1.1. Klasa Volatile 75
- 4.1.2. Klasa Interlocked 76
- 4.2. Blokady trybu jądra 80
- 4.3. Blokady hybrydowe 81
- 4.3.1. Przekazywanie instancji do metod klasy Monitor 81
- 4.3.2. Słowo kluczowe lock 81
- 4.4. Blokady asynchroniczne 83
- 4.5. Leniwa inicjalizacja 84
- 4.5.1. Blokada z podwójnym sprawdzeniem 84
- 4.5.2. Klasa Lazy
85 - 4.5.3. Klasa ThreadLocal
85 - 4.6. Kolekcje współbieżne 87
- 4.6.1. Klasa BlockingCollection
87 - ĆWICZENIA DO ROZDZIAŁU 4. 90
- ROZWIĄZANIA DO ROZDZIAŁU 1. 91
- ROZWIĄZANIA DO ROZDZIAŁU 2. 94
- ROZWIĄZANIA DO ROZDZIAŁU 3. 95
- ROZWIĄZANIA DO ROZDZIAŁU 4. 97
Podziękowania 7
Wstęp 9
Rozdział 1. Programowanie wielowątkowe 13
Rozdział 2. Programowanie równoległe 39
Rozdział 3. Programowanie asynchroniczne 49
Rozdział 4. Synchronizacja 73
ROZWIĄZANIA 91
Źródła 101
Oceny i opinie klientów: Asynchroniczność i wielowątkowość w języku C# Grzegorz Lang (6)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(4)
(0)
(0)
(0)
(1)
(1)
Piotr,
Data dodania: 2022-04-05 Ocena: 6 Opinia potwierdzona zakupem
Data dodania: 2021-03-30 Ocena: 6 Opinia potwierdzona zakupem
Ania,
Data dodania: 2021-03-09 Ocena: 6 Opinia niepotwierdzona zakupem
Bartosz,
Data dodania: 2021-02-22 Ocena: 6 Opinia potwierdzona zakupem
Data dodania: 2021-03-31 Ocena: 2 Opinia potwierdzona zakupem
Data dodania: 2022-07-13 Ocena: 1 Opinia niepotwierdzona zakupem
więcej opinii