reklama - zainteresowany?

Programowanie równoległe i asynchroniczne w C# 5.0 - Helion

Programowanie równoległe i asynchroniczne w C# 5.0
Autor: Mateusz Warczak, Jacek Matulewski, Rafał Pawłaszek, Piotr Sybilski, Dawid Borycki, Tomasz Dziubak
ISBN: 978-83-246-6698-0
stron: 440, Format: 158x235, okładka: miękka
Data wydania: 2013-11-22
Księgarnia: Helion

Cena książki: 69,00 zł

Dodaj do koszyka Programowanie równoległe i asynchroniczne w C# 5.0

Tagi: .NET - Programowanie | C# - Programowanie | programowanie-kupon | secret-sale

Programowanie współbieżne - wykorzystaj w pełni moc procesorów!

  • Opanuj wÄ…tki, zadania i TPL
  • Poznaj sprytne rozwiÄ…zania z użyciem bibliotek DSS i CCR
  • Wejdź na wyższy poziom z Reactive Extensions i CUDAfy.NET

Programowanie współbieżne jest w dzisiejszych czasach absolutnym standardem, jedyną drogą pozwalającą w pełni wykorzystać moc wielordzeniowych procesorów, umieszczanych we współczesnych komputerach. Jednak nadal niewielu programistów potrafi poprawnie i efektywnie korzystać z tej technologii. Czas to zmienić!

Jeśli chcesz być naprawdę świetnym programistą C#, tworzącym aplikacje na platformę .NET, a do tej pory nie przestudiowałeś jeszcze porządnie kwestii współbieżności, pora to nadrobić. W tej książce znajdziesz informacje o podstawach tej technologii, takich jak wątki, a także o klasycznych pułapkach związanych z programowaniem współbieżnym. Kolejne rozdziały odkryją przed Tobą tajemnice zadań oraz bibliotek TPL. Poznasz również technologie DSS i CCR oraz dowiesz się co nieco na temat asynchroniczności. Potem przyjdzie kolej na omówienie technologii Reactive Extensions oraz biblioteki CUDAfy.NET, pozwalającej efektywnie wykorzystać karty graficzne do obliczeń niezwiązanych z grafiką. Odkryj zalety programowania równoległego!

  • Dla niecierpliwych: asynchroniczność i pÄ™tla równolegÅ‚a
  • WÄ…tki i zadania
  • Zmienne w aplikacjach wielowÄ…tkowych
  • Synchronizacja wÄ…tków, zadaÅ„ i kontrolek interfejsu z zadaniami
  • WÄ…tki i zadania a interfejs użytkownika
  • Dane w programach równolegÅ‚ych
  • Analiza aplikacji wielowÄ…tkowych. Debugowanie i profilowanie
  • WstÄ™p do CCR i DSS
  • Skalowalne rozwiÄ…zanie dla systemów rozproszonych na bazie technologii CCR i DSS
  • Wprowadzenie do Reactive Extensions. ZarzÄ…dzanie sekwencjami zdarzeÅ„
  • Współbieżność w Rx
  • PrzykÅ‚ady użycia technologii Rx w aplikacjach WPF
  • CUDA w .NET
  • Biblioteka TPL w WinRT
  • Dobre praktyki programowania aplikacji wielowÄ…tkowych

Zostań mistrzem programowania współbieżnego!

Dodaj do koszyka Programowanie równoległe i asynchroniczne w C# 5.0

 

Osoby które kupowały "Programowanie równoległe i asynchroniczne w C# 5.0", wybierały także:

  • Gray Hat C#. JÄ™zyk C# w kontroli i Å‚amaniu zabezpieczeÅ„
  • ASP.NET Core 6. Kurs video. Rozwijaj aplikacje webowe z Entity Framework Core
  • Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit
  • Programowanie asynchroniczne i równolegÅ‚e w C#. Kurs video. Poziom podstawowy
  • Technologia LINQ. Kurs video. Warsztat pracy z danymi z różnych źródeÅ‚

Dodaj do koszyka Programowanie równoległe i asynchroniczne w C# 5.0

Spis treści

Programowanie równoległe i asynchroniczne w C# 5.0 -- spis treści

Wstęp (9)

Przedmowa (11)

RozdziaÅ‚ 1. Dla niecierpliwych: asynchroniczność i pÄ™tla równolegÅ‚a (13)

  • Programowanie asynchroniczne. Operator await i modyfikator async (nowość jÄ™zyka C# 5.0 i platformy .NET 4.5) (13)
  • Klasa Parallel z biblioteki TPL (nowość platformy .NET 4.0) (19)
    • RównolegÅ‚a pÄ™tla For (20)
    • Przerywanie pÄ™tli (22)

Rozdział 2. Wątki (25)

  • Monte Carlo (25)
  • Obliczenia bez użycia dodatkowych wÄ…tków (26)
  • Przeniesienie obliczeÅ„ do osobnego wÄ…tku (28)
  • WÄ…tki, procesy i domeny aplikacji (30)
  • Usypianie bieżącego wÄ…tku (31)
  • Przerywanie dziaÅ‚ania wÄ…tku (Abort) (32)
  • Wstrzymywanie i wznawiane dziaÅ‚ania wÄ…tku (34)
  • WÄ…tki dziaÅ‚ajÄ…ce w tle (35)
  • Zmiana priorytetu wÄ…tku (36)
  • Użycie wielu wÄ…tków i problemy z generatorem liczb pseudolosowych (36)
  • Pamięć lokalna wÄ…tku i bezpieczeÅ„stwo wÄ…tku (39)
  • Czekanie na ukoÅ„czenie pracy wÄ…tku (Join) (40)
  • Sekcje krytyczne (lock) (43)
  • PrzesyÅ‚anie danych do wÄ…tku (45)
  • Pula wÄ…tków (47)
  • Jeszcze raz o sygnalizacji zakoÅ„czenia pracy wÄ…tków (50)
  • Operacje atomowe (51)
  • Tworzenie wÄ…tków za pomocÄ… System.Threading. Timer i imitacja timera w wÄ…tku z wysokim priorytetem (54)
  • Zadania (57)

Rozdział 3. Zmienne w aplikacjach wielowątkowych (59)

  • Atrybut ThreadStatic (59)
  • Opóźniona inicjacja i zmienne lokalne wÄ…tku (60)
  • Volatile (64)
  • Zadania (65)

RozdziaÅ‚ 4. WiÄ™cej o synchronizacji wÄ…tków. Blokady i sygnaÅ‚y (67)

  • Problem ucztujÄ…cych filozofów (68)
  • Problem czytelników i pisarzy (73)
  • Komunikacja miÄ™dzy wÄ…tkami. Problem producenta i konsumenta (78)
  • Sygnalizacja za pomocÄ… metod Monitor.Pulse i Monitor.Wait (81)
  • EventWaitHandle i AutoResetEvent (85)
  • Bariera (86)
  • Synchronizacja wÄ…tków z różnych procesów. Muteksy i semafory nazwane (88)
    • Kontrola iloÅ›ci instancji aplikacji (89)
    • Mutex (89)
    • Semafor (91)
  • Zadania (93)

Rozdział 5. Wątki a interfejs użytkownika (95)

  • WÄ…tki robocze w aplikacjach desktopowych (95)
    • Przygotowanie projektu aplikacji oraz danych wejÅ›ciowych (96)
    • Wykorzystanie wÄ…tków w dÅ‚ugotrwaÅ‚ych metodach zdarzeniowych (99)
  • Synchronizacja wÄ…tków z interfejsem użytkownika w aplikacjach Windows Forms (104)
  • BackgroundWorker (110)
  • Synchronizacja wÄ…tków z komponentami Windows Presentation Foundation (114)
    • Projekt graficznego interfejsu użytkownika (115)
    • Implementacja metod zdarzeniowych (117)
    • Bezpieczny dostÄ™p do kontrolek WPF (125)
  • Kontekst synchronizacji (128)
  • Groźba zagÅ‚odzenia wÄ…tku interfejsu i asynchroniczna zmiana stanu wspóÅ‚dzielonych zasobów (135)
  • Zadania (136)

Rozdział 6. Zadania (137)

  • Tworzenie zadania (137)
  • Praca z zadaniami (138)
  • Dane przekazywane do zadaÅ„ (140)
  • Dane zwracane przez zadania (141)
  • PrzykÅ‚ad: test liczby pierwszej (141)
  • Synchronizacja zadaÅ„ (143)
  • PrzykÅ‚ad: sztafeta zadaÅ„ (144)
  • Przerywanie zadaÅ„ (145)
  • Stan zadania (149)
  • Fabryka zadaÅ„ (152)
  • Planista i zarzÄ…dzanie kolejkowaniem zadaÅ„ (155)
  • Ustawienia zadaÅ„ (159)
  • Zadania (160)

RozdziaÅ‚ 7. Klasa Parallel. Zrównoleglanie pÄ™tli (161)

  • RównolegÅ‚a pÄ™tla for (162)
  • RównolegÅ‚a pÄ™tla foreach (163)
  • Metoda Invoke (164)
  • Ustawienia pÄ™tli równolegÅ‚ych. Klasa ParallelOptions (166)
  • Przerywanie pÄ™tli za pomocÄ… CancelationToken (166)
  • Kontrola wykonywania pÄ™tli (168)
  • Synchronizacja pÄ™tli równolegÅ‚ych. Obliczanie ? metodÄ… Monte Carlo (169)
  • Partycjonowanie danych (175)
  • Zadania (177)

Rozdział 8. Synchronizacja zadań (179)

  • Blokady (lock) (179)
  • SygnaÅ‚y (Monitor.Pulse i Monitor.Wait) (182)
  • Bariera (184)

RozdziaÅ‚ 9. Dane w programach równolegÅ‚ych (187)

  • Praca ze zbiorami danych w programowaniu równolegÅ‚ym (187)
    • WspóÅ‚bieżne struktury danych (187)
    • Kolekcja ConcurrentBag (189)
    • WspóÅ‚bieżne kolejka i stos (189)
    • Praca z BlockingCollection (190)
    • WÅ‚asna kolekcja wspóÅ‚bieżna (193)
    • Agregacja (197)
    • Agregacje dla kolekcji równolegÅ‚ych (199)
  • PLINQ - zrównoleglone zapytania LINQ (203)
    • PrzykÅ‚ad zapytania PLINQ (204)
    • Jak dziaÅ‚a PLINQ? (205)
    • Kiedy PLINQ jest wydajne? (207)
    • Metody przeksztaÅ‚cajÄ…ce dane wynikowe (208)
    • Przerywanie zapytaÅ„ (209)
    • Metoda ForAll (212)
  • Zadania (213)

Rozdział 10. Synchronizacja kontrolek interfejsu z zadaniami (215)

  • Zadania w aplikacjach Windows Forms (215)
  • Zadania w aplikacjach WPF (219)
  • Aktualizacja interfejsu z wykorzystaniem operatora await (221)
  • Zadania (223)

Rozdział 11. Analiza aplikacji wielowątkowych. Debugowanie i profilowanie (225)

  • Okno wÄ…tków (Threads) (226)
  • Okno zadaÅ„ równolegÅ‚ych (Parallel Tasks) (228)
  • Okno stosów równolegÅ‚ych (Parallel Stacks) (229)
  • Okno równolegÅ‚ego Å›ledzenia zmiennych (Parallel Watch) (230)
  • Concurrency Visualizer (232)
    • Widok Wykorzystanie CPU (232)
    • Widok WÄ…tki (233)
    • Widok Rdzenie (236)
    • Profilowanie aplikacji zewnÄ™trznych (237)
    • Znaczniki (238)
  • Zadania (241)

Rozdział 12. Wstęp do CCR i DSS (243)

  • Instalacja Å›rodowiska Microsoft Robotics (245)
    • Możliwe problemy z uruchomieniem Å›rodowiska Robotics (247)
    • Kompilacja i uruchamianie projektów doÅ‚Ä…czonych do książki (248)
  • CCR i DSS w piguÅ‚ce (249)
    • Czujniki i urzÄ…dzenia - tworzenie pierwszej usÅ‚ugi (249)
    • Serwisy partnerskie (265)

RozdziaÅ‚ 13. Skalowalne rozwiÄ…zanie dla systemów rozproszonych na bazie technologii CCR i DSS (277)

  • Opóźnione uruchamianie (291)
  • Uruchamianie obliczeÅ„ na klastrze (293)
  • Podsumowanie (298)
  • Zadania (299)

Rozdział 14. Wprowadzenie do Reactive Extensions. Zarządzanie sekwencjami zdarzeń (301)

  • Programowanie reaktywne (302)
    • IObservable<T> (303)
    • IObserver<T> (303)
    • Dualizm interaktywno-reaktywny (304)
    • Obserwator - wzorzec projektowy (305)
  • Platforma Rx (306)
    • Biblioteki Rx (307)
  • Gramatyka Rx (309)
    • Jak korzystać z interfejsów w Rx? (309)
    • Subskrypcje (312)
    • LINQ do zdarzeÅ„ (315)
  • Zimne i gorÄ…ce obserwable (329)

RozdziaÅ‚ 15. WspóÅ‚bieżność w Rx (333)

  • ZarzÄ…dzanie równolegÅ‚oÅ›ciÄ… (333)
    • Interfejs IScheduler (334)
    • PlaniÅ›ci (335)
    • Metody SubscribeOn i ObserveOn (339)
    • SÅ‚owo o unifikacji (343)

Rozdział 16. Przykłady użycia technologii Rx w aplikacjach WPF (345)

  • Rysowanie z użyciem Rx (346)
  • Wyszukiwarka (353)

Rozdział 17. CUDA w .NET (365)

  • Konfiguracja Å›rodowiska dla CUDAfy.NET (366)
  • Pierwsze kroki (368)
  • Hello World, czyli pierwszy program CUDAfy.NET (370)
  • Emulator GPU (375)
  • WÅ‚asnoÅ›ci GPU (376)
  • Przekazywanie parametrów do kerneli (378)
  • Operacje na pamiÄ™ci globalnej karty graficznej (380)
  • Pomiar czasu wykonania (383)
  • DostÄ™p zwarty do pamiÄ™ci globalnej i pamięć wspóÅ‚dzielona (386)
  • Generator liczb pseudolosowych (390)
  • FFT na GPU (392)
  • BLAS (394)
  • Zadania (395)

Dodatek A. Biblioteka TPL w WinRT (397)

  • Zadania (398)
  • Struktura SpinWait (400)
  • Usypianie wÄ…tków (400)
  • Pula wÄ…tków (401)
  • ThreadPoolTimer (402)
  • PodobieÅ„stwa (403)
  • PrzenoÅ›na biblioteka (404)
  • Zadania (406)

Dodatek B. Dobre praktyki programowania aplikacji wielowÄ…tkowych (407)

  • Wprowadzenie (407)
  • Sekcje krytyczne i zakleszczenia (407)
  • WyÅ›cig (411)
  • SÅ‚owo kluczowe volatile i kontrola pÄ™tli wykonywanej w ramach funkcji wÄ…tku (417)
  • BezpieczeÅ„stwo wÄ…tków a konstruktory i pola statyczne (419)

Dodatek C. Menadżer pakietów NuGet (423)

  • Instalacja NuGet (423)
  • Korzystanie z NuGet (425)

Skorowidz (427)

Dodaj do koszyka Programowanie równoległe i asynchroniczne w C# 5.0

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.