Asynchroniczność i wielowątkowość w języku C#
- Autor:
- Grzegorz Lang
- Promocja Przejdź
- Wydawnictwo:
- Helion
- Ocena:
- 4.5/6 Opinie: 6
- Stron:
- 112
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis książki: 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
-
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
48.19 zł
79.00 zł(-39%) -
Dzięki tej książce nauczysz się rozwiązywać ambitne problemy algorytmiczne i projektować własne algorytmy. Materiałem do ćwiczeń są tu przykłady zaczerpnięte z konkursów programistycznych o światowej renomie. Dowiesz się, jak klasyfikować problemy, czym się kierować podczas wybierania struktury d...
Myślenie algorytmiczne. Jak rozwiązywać problemy za pomocą algorytmów Myślenie algorytmiczne. Jak rozwiązywać problemy za pomocą algorytmów
(0,00 zł najniższa cena z 30 dni)56.07 zł
89.00 zł(-37%) -
To drugie, zaktualizowane i poprawione wydanie bestsellerowego podręcznika Programowania w Pythonie pozwoli Ci błyskawicznie zacząć tworzyć kod, który działa! Zaczniesz od zrozumienia podstawowych koncepcji programistycznych, następnie nauczysz się zapewniać programom interaktywność i wykształcis...(0,00 zł najniższa cena z 30 dni)
51.48 zł
99.00 zł(-48%) -
Absolutnie nie! Dzięki tej książce nauczysz się metod pomocnych w opanowaniu dowolnego materiału. Techniki te opracowano na bazie osiągnięć neuronauki i psychologii kognitywnej, aby w maksymalny sposób wykorzystać cechy ludzkiego mózgu i jego naturalne możliwości. Poszczególne metody zostały doda...
Mistrzowski samouk. Jak łatwo i skutecznie doskonalić się w dowolnej dziedzinie Mistrzowski samouk. Jak łatwo i skutecznie doskonalić się w dowolnej dziedzinie
(0,00 zł najniższa cena z 30 dni)25.14 zł
39.90 zł(-37%) -
Cathy Tanimura jest analityczką danych z ponad dwudziestoletnim doświadczeniem. Odnosiła również sukcesy, budując zespoły do spraw analizy danych i tworząc potrzebną infrastrukturę. Zajmowała się także zarządzaniem zespołami w kilku czołowych firmach technologicznych. Od wielu lat używa języka SQ...
Analiza danych z wykorzystaniem SQL-a. Zaawansowane techniki przekształcania danych we wnioski Analiza danych z wykorzystaniem SQL-a. Zaawansowane techniki przekształcania danych we wnioski
(0,00 zł najniższa cena z 30 dni)43.47 zł
69.00 zł(-37%) -
Nawyki mogą niepostrzeżenie ułatwić wszystko, co wymaga systematyczności: zdobycie pięknej sylwetki, zdrowe odżywianie się, nauczenie się nowego języka. Wystarczy tylko świadomie wybrać i wypracować mądre zachowania. Wymaga to włożenia pewnego wysiłku w wykształcenie nowego nawyku. Jest to dość p...
Elastyczne nawyki. Jak kształtować dobre nawyki w życiu pełnym zmian Elastyczne nawyki. Jak kształtować dobre nawyki w życiu pełnym zmian
(0,00 zł najniższa cena z 30 dni)14.90 zł
49.90 zł(-70%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(0,00 zł najniższa cena z 30 dni)54.29 zł
89.00 zł(-39%) -
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(0,00 zł najniższa cena z 30 dni)
36.58 zł
59.00 zł(-38%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(0,00 zł najniższa cena z 30 dni)47.74 zł
77.00 zł(-38%) -
Ta książka jest praktycznym i wyczerpującym przewodnikiem, dzięki któremu w pełni wykorzystasz możliwości Kali Linux. Opisano w niej wiele interesujących zagadnień związanych z przeprowadzaniem testów penetracyjnych. Dowiesz się, jak zbudować nowoczesne środowisko testowe z użyciem kontenerów Doc...(0,00 zł najniższa cena z 30 dni)
62.37 zł
99.00 zł(-37%)
O autorze książki
1 Grzegorz LangGrzegorz 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 książki
- 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@helion.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
- Erraty / Zgłoś erratę
- Kategorie:
Programowanie » C# - Programowanie
- Serie wydawnicze: Standard
Spis treści książki
- 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