Programowanie_rownolegle_i_asynchroniczne_w_C_5_0_proch5.pdf
(
601 KB
)
Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości
lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.
Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie
książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie
praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi
bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne
naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Ewelina Burska
Projekt okładki: Studio Gravite/Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/proch5
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
ISBN: 978-83-246-6698-0
Copyright © Helion 2014
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
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
Kup książkę
Poleć książkę
4
Programowanie równoleg e i asynchroniczne w C# 5.0
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
Kup książkę
Poleć książkę
Spis tre ci
5
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
Kup książkę
Poleć książkę
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
Head_First_C_Edycja_polska_hfcsh.pdf
(25027 KB)
Agile_Programowanie_zwinne_zasady_wzorce_i_praktyki_zwinnego_wytwarzania_oprogramowania_w_C_agilev.pdf
(3219 KB)
100_sposobow_na_Visual_Studio_100vis.pdf
(1292 KB)
ASP_NET_2_0_Tworzenie_witryn_internetowych_z_wykorzystaniem_C_i_Visual_Basica_aspntw.pdf
(985 KB)
ASP_NET_4_z_wykorzystaniem_C_i_VB_Zaawansowane_programowanie_asp4cv.pdf
(996 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin