Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop Spis treści

Podobne dokumenty
C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Visual Studio 2010 : dla programistów C# / Jacek Matulewski [et al.]. Gliwice, cop Spis treści. Wstęp 15

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Programowanie.NET - kurs zaawansowany

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Zaawansowane programowanie w C++ (PCP)

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Microsoft Visual C# 2012 Krok po kroku

Spis treści. oraz Microsoft Visual Studio Wstęp... xiii. Część I Wprowadzenie do języka Microsoft Visual C# 1 Wprowadzenie do języka C#...

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

using System;... using System.Threading;

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programowanie wielowątkowe. Jarosław Kuchta

Systemy operacyjne III

Programowanie współbieżne Wykład 9 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Programowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie procesorów graficznych GPGPU

msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.

C# 6.0 w pigułce / Joseph Albahari, Ben Albahari. Gliwice, cop Spis treści

Wprowadzenie do programowania współbieżnego

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Nowoczesne technologie przetwarzania informacji

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Cena szkolenia. Opis kursu

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Instrukcja projektowa cz. 2

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Wstęp do programowania Laboratorium - wytyczne

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Karta przedmiotu. Politechnika Krakowska im. Tadeusza Kościuszki. 1 Informacje o przedmiocie. 2 Rodzaj zajęć, liczba godzin w planie studiów

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Visual C# dla zupełnie początkujących / Tony Gaddis. Wydanie IV. Gliwice, copyright Spis treści. Wstęp 11. Uwaga, czytelnicy 19

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

4. Procesy pojęcia podstawowe

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

SAP w 24 godziny / Michael Missbach, George Anderson. Gliwice, cop Spis treści

Spis treści. Wprowadzenie 15

Tesla. Architektura Fermi

Podstawy Programowania

Programowanie MorphX Ax

C# 6.0 : księga przepisów / Jay Hilyard, Stephen Teilhet. Warszawa, Spis treści

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Równoległość i współbieżność

Równoległość i współbieżność

2. Architektura mikrokontrolerów PIC16F8x... 13

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Języki programowania imperatywnego

Algorytmy i Struktury Danych

Programowanie aplikacji dla Sklepu Windows w języku C#

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Temat zajęć: Tworzenie i obsługa wątków.

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Projektowanie oprogramowania systemów WĄTKI I SYNCHRONIZACJA

Spis treści. Księgarnia PWN: Maurice Herlihy, Nir Shavit - Sztuka programowania wieloprocesorowego. Podziękowania Przedmowa...

Kurs języka Python. Wątki

STRATEGIE NISKOPOZIOMOWEGO PROGRAMOWANIA WSPÓŁBIEŻNEGO PLATFORMY.NET

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Kurs Zaawansowany S7. Spis treści. Dzień 1

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Warszawa, Spis treści

Systemy operacyjne 2

Instrukcja laboratoryjna cz.3

Small Business Server 2008 PL : instalacja, migracja i konfiguracja / David Overton. Gliwice, cop Spis treści

Programowanie współbieżne i rozproszone

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Adobe Flash CS6 i ActionScript 3.0 : interaktywne projekty od podstaw / Paweł Zakrzewski. Gliwice, cop Spis treści

Programuj w języku C# i zarabiaj na swoich aplikacjach! Programowanie w Visual Studio 2013 to czysta przyjemność!

4. Procesy pojęcia podstawowe

WIELOWĄTKOWOŚĆ. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Programowanie Rozproszone i Równoległe

4. Procesy pojęcia podstawowe

1. Wprowadzenie do techniki cyfrowej, podstawowe prawa algebry boolowskiej,

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Wyd. 2 poszerz. Warszawa, Spis treści

Spis treści. Przedmowa. Podstawy R

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Transkrypt:

Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop. 2014 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 oprac. BPK