Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
- Ocena:
- 4.6/6 Opinie: 10
- Stron:
- 640
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Jeśli aplikacja ma działać szybko i niezawodnie, najlepiej wybrać C++, dojrzały i wszechstronny język programowania, konsekwentnie rozwijany przez mistrzów kodowania. Wymaga on zachowania pewnej dyscypliny podczas pracy, jednak pozwala na uzyskanie kodu o znakomitej wydajności. Nowy standard C++17 zapewnia doskonałą obsługę wielowątkowości oraz programowania wieloprocesorowego wymaganego podczas szybkiego przetwarzania grafiki, uczenia maszynowego czy też wykonywania innych zadań, w których kluczową sprawą okazuje się wydajność.
Ta książka jest drugim, zaktualizowanym i uzupełnionym wydaniem doskonałego podręcznika dla profesjonalistów. Szczegółowo opisano w niej wszystkie etapy programowania współbieżnego: od utworzenia wątków po projektowanie wielowątkowych algorytmów i struktur danych. Przedstawiono zastosowania klas std::thread i std::mutex oraz funkcji std::async, a także złożone zagadnienia związane z operacjami atomowymi i modelem pamięci. Sporo miejsca poświęcono diagnozowaniu kodu i analizie rodzajów błędów. Opisano techniki lokalizowania błędów oraz metody testowania kodu. Prezentowany materiał został uzupełniony przykładami kodu i praktycznymi ćwiczeniami. Znalazły się tu również porady i wskazówki, które docenią wszyscy programiści C++.
W tej książce między innymi:
- nowości w standardzie C++17
- zagadnienia niskiego poziomu: model pamięci i operacje atomowe
- zagadnienia wyższego poziomu: złożone struktury danych
- zagadnienia wysokiego poziomu: kod wielowątkowy i zarządzanie wątkami
- obsługa równoległości za pomocą funkcji dodanych w standardzie C++17
- debugowanie kodu wielowątkowego
Programuj elegancko, twórz wydajny i czysty kod. Oto współbieżność w C++!
Język C++ wybierasz, gdy tworzona aplikacja musi działać szybko. Doskonale zaimplementowana współbieżność powoduje, że aplikacja może działać jeszcze wydajniej. Standard C++17 oferuje doskonałą obsługę wielowątkowości, modelu programowania wieloprocesorowego wymaganego podczas szybkiego przetwarzania grafiki, uczenia maszynowego oraz wykonywania innych zadań, w których wydajność ma znaczenie kluczowe. Dzięki tej wyjątkowej książce poznasz funkcje, wzorce i najlepsze praktyki przeznaczone do użycia podczas stosowania współbieżności w produkcyjnym kodzie C++.
Niniejsza książka stanowi doskonały podręcznik, z którego dowiesz się, jak elegancko tworzyć w języku C++ aplikacje wielowątkowe. Jej treść została uaktualniona dla standardu C++17 i dość szczegółowo przedstawia wszystkie etapy programowania współbieżnego, począwszy od tworzenia nowych wątków aż do projektowanie w pełni działających, wielowątkowych algorytmów i struktur danych. Mistrz programowania współbieżnego, Anthony Williams, w każdym rozdziale przedstawia przykłady i praktyczne zadania, a także informacje przydatne nawet dla najbardziej doświadczonych programistów C++.
Materiał zaprezentowany w książce
- Dokładne omówienie nowych funkcji standardu C++17
- Tworzenie wątków i zarządzanie nimi
- Synchronizowanie operacji współbieżnych
- Projektowanie kodu działającego współbieżnie
- Debugowanie aplikacji wielowątkowych
Książka jest przeznaczona dla średniozaawansowanych i zaawansowanych programistów C++. Nie trzeba mieć żadnego doświadczenia w zakresie programowania współbieżnego.
"Ta książka powinna znaleźć się na półce każdego programisty C++. Napisana jasno i spójnie, jest wręcz bezcenna."
Rob Green, Bowling Green State University
"Dokładne omówienie możliwości języka C++ w zakresie współbieżności."
Maurizio Tomasi, Uniwersytet w Milanie
"Gorąco polecana propozycja dla programistów, którzy chcą poszerzyć wiedzę o najnowszym wydaniu standardu C++."
Frederic Flayol, 4Pro Web C++
"Przykładowe fragmenty kodu zamieszczone w książce doskonale nadają się do używania we własnych projektach i pomagają stać się prawdziwym mistrzem programowania współbieżnego w języku C++."
Jura Shikin, IVI Technologies
Wybrane bestsellery
-
Dzięki tej książce poradzisz sobie z większością zadań i zwinnie ominiesz zastawione pułapki. W trakcie lektury dowiesz się, jak zidentyfikować zadania, w których zastosowanie współbieżności ma sens, oraz jak zarządzać wątkami. Ponadto nauczysz się chronić współdzielone dane oraz synchronizować w...(44.50 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł(-50%) -
Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania — C++. Dziś ten język jest wykorzystywany do tworzenia gier ko...(149.40 zł najniższa cena z 30 dni)
149.40 zł
249.00 zł(-40%) -
Grunge. Brudny, chropawy rock and roll, wyrosły z miłości do punka i heavy metalu. Długie włosy, wojskowe buty i flanelowe koszule miały być symbolami buntu pokolenia, które w gazetach, telewizjach i stacjach radiowych uparcie nazywano straconym pokoleniem X. Szczycił się swoją odmiennością i sar...(39.96 zł najniższa cena z 30 dni)
39.96 zł
51.90 zł(-23%) -
Brazylijscy dyplomaci przemycający tony złota, luksus bijący po oczach w peerelowskiej szarzyźnie, wielki proces i wieloletnie wyroki więzienia. Reportaż, saga rodzinna i historia niezwykłego serwisu.(42.27 zł najniższa cena z 30 dni)
42.82 zł
54.90 zł(-22%) -
Siedem łatwych i dostępnych dla każdego zasad, które pomagają osiągać życiowe cele. Opracował je Arnold Schwarzennegger na bazie swoich życiowych doświadczeń i niesamowitych dokonań!(34.99 zł najniższa cena z 30 dni)
59.49 zł
69.99 zł(-15%) -
Jerzy Kaziura, agent GRU, awansuje na stanowisko wicepremiera i koordynatora służb, wprowadzając chaos na najwyższych szczeblach władzy. Konrad Wolski, Marcel Cichy, Roman Leski oraz Zofia Winiarska zostają aresztowani, a Agencja Wywiadu rozwiązana. Pogłębia się atmosfera niepewności i nieufności...(30.79 zł najniższa cena z 30 dni)
30.79 zł
39.99 zł(-23%) -
Fascynująca opowieść o komputerach kwantowych, które całkowicie odmienią nasze życie. Dzięki nim być może w końcu poznamy najgłębsze tajemnice natury, wykorzystamy w pełni potencjał sztucznej inteligencji i rozwiążemy najtrudniejsze problemy nękające ludzkość. Komputery kwantowe wywołają ogromną ...(33.88 zł najniższa cena z 30 dni)
33.88 zł
44.00 zł(-23%) -
Nieszczęśliwi kochankowie, niechciane przeznaczenie. Fascynująca czwarta część serii "Królestwo Mostu". Keris, który niedawno został królem, musiał przyglądać się bezradnie, kiedy jego zakazany związek z Zarrah wyszedł na jaw. Ale kiedy Zarrah została uwięziona przez cesarzową, Keris wie, że istn...(49.12 zł najniższa cena z 30 dni)
49.12 zł
59.90 zł(-18%) -
2014. Jacek Nitecki stoi samotny przed halą odlotów Okęcia. Zaczyna padać deszcz. Dzwoni telefon. Jacek odbiera, myśląc, że jego droga do piekła właśnie się skończyła. Ale ona dopiero się zaczyna.(41.50 zł najniższa cena z 30 dni)
45.82 zł
53.90 zł(-15%) -
Wiele lat temu w trakcie licealnej imprezy w Żeromicach doszło do tragedii dwoje nastolatków spłonęło w starym, porzuconym pustostanie. Sprawa została zakwalifikowana jako wypadek i odcisnęła się na lokalnej społeczności tak silnym piętnem, że nikt do niej nie wraca. Do czasu.(34.93 zł najniższa cena z 30 dni)
39.92 zł
49.90 zł(-20%)
O autorze ebooka
Anthony Williams od ponad dwudziestu lat programuje w C++, a także udziela porad i szkoli w tym zakresie. Od 2001 roku jest aktywnym członkiem organizacji BSI C++ Standards Panel. Brał udział w opracowywaniu i implementacji standardów C++. Kontynuuje prace nad rozszerzaniem pakietu współbieżności w tym języku.
Zobacz pozostałe książki z serii W Akcji
-
Ta książka składa się z ponad dwudziestu krótkich, praktycznych lekcji, w ramach których przedstawiono najważniejsze koncepcje związane ze stosowaniem Dockera. Dzięki niej szybko i bez problemów zaczniesz wdrażać aplikacje kontenerowe w środowisku produkcyjnym. Skupisz się na rzeczywistych zadani...(71.40 zł najniższa cena z 30 dni)
71.40 zł
119.00 zł(-40%) -
To książka przeznaczona dla programistów aplikacji internetowych, architektów oprogramowania i inżynierów. Wyjaśniono w niej ideę podziału monolitu na komponenty i pokazano, w jaki sposób zastosować z powodzeniem architekturę mikrousług do frontendu aplikacji. Omówiono też takie zagadnienia jak k...(39.50 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł(-50%) -
Platforma Amazon Web Services jest uważana za największą i najdojrzalszą chmurę obliczeniową. Oferuje ponad setkę gotowych usług, praktycznie niewyczerpywalne zasoby mocy obliczeniowej, nieograniczone bezpieczne magazynowanie oraz pierwszorzędne możliwości automatyzacji. Jest przy tym nieustannie...(59.40 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł(-40%) -
Ta książka to praktyczny przewodnik po frameworku Vue.js przeznaczonym dla programistów zaznajomionych z JavaScriptem, HTML-em i CSS-em. Pozwala na szybkie poznanie tego narzędzia. Przedstawiono w niej zasady łatwego zarządzania stanem z użyciem biblioteki Vuex oraz techniki budowania niestandard...(29.49 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł(-50%) -
To kolejne, uzupełnione i zaktualizowane wydanie przewodnika po frameworku Spring. Książka jest napisana w zwięzłym, przejrzystym i jasnym stylu, dzięki czemu szybko zrozumiesz zasady pracy ze Springiem i zbudujesz nowoczesną aplikację internetową współpracującą z bazą danych. Pokazano tu technik...(65.40 zł najniższa cena z 30 dni)
65.40 zł
109.00 zł(-40%) -
Ta książka jest przeznaczona dla programistów, którzy chcą możliwie szybko zacząć budować poprawne aplikacje w Angularze i bezproblemowo uruchamiać je w środowisku produkcyjnym. Podręcznik został napisany w sposób, który pozwala na natychmiastowe rozpoczęcie kodowania i zrozumienie — niemal...(29.49 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł(-50%) -
Ta książka jest przeznaczona dla osób, które mają pewne doświadczenia z Javą i chcą szybko poznać Kotlina w stopniu pozwalającym na tworzenie aplikacji serwerowych, dla systemu Android i maszyn JVM. Znalazł się tu opis podstawowych cech języka i jego najważniejszych struktur, a następnie przedsta...
-
Jeśli chcesz nauczyć się administrowania siecią Cisco, ale czujesz się przerażony nieprzystępnymi podręcznikami, to trzymasz w ręku właściwą książkę. Bez wkuwania teorii zaczniesz wykonywać konkretne zadania. Będziesz poznawać różne pojęcia podczas ćwiczeń i zobaczysz, jak nabierają sensu. Dowies...(47.40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Unity w akcji Warunkiem zbudowania dobrej gry jest staranne opracowanie jej mechaniki, czyli poszczególnych akcji i systemu tych akcji. Gry, które odniosły największy sukces, charakteryzują się innowacyjną i interesującą mechaniką. Niemniej nawet jeśli już opracowałeś projekt gry...(34.50 zł najniższa cena z 30 dni)
34.50 zł
69.00 zł(-50%)
Ebooka "Język C++ i przetwarzanie współbieżne w akcji. Wydanie II" 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 "Język C++ i przetwarzanie współbieżne w akcji. Wydanie II" 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 "Język C++ i przetwarzanie współbieżne w akcji. Wydanie II" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- C++ Concurrency in Action, 2nd Edition
- Tłumaczenie:
- Robert Górczyński, Mikołaj Szczepaniak
- ISBN Książki drukowanej:
- 978-83-283-4448-8, 9788328344488
- Data wydania książki drukowanej:
- 2019-12-16
- ISBN Ebooka:
- 978-83-283-4449-5, 9788328344495
- Data wydania ebooka:
- 2019-12-16 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:
- 168x237
- Numer z katalogu:
- 96566
- Rozmiar pliku Pdf:
- 5.4MB
- Rozmiar pliku ePub:
- 4.5MB
- Rozmiar pliku Mobi:
- 11.8MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Serie wydawnicze: W Akcji
Spis treści ebooka
- Słowo wstępne (11)
- Podziękowania (13)
- O tej książce (15)
- O autorze (19)
- 1.1. Czym jest współbieżność? (22)
- 1.1.1. Współbieżność w systemach komputerowych (22)
- 1.1.2. Modele współbieżności (25)
- 1.1.3. Współbieżność kontra równoległość (27)
- 1.2. Dlaczego warto stosować współbieżność? (27)
- 1.2.1. Stosowanie współbieżności do podziału zagadnień (27)
- 1.2.2. Stosowanie współbieżności do podniesienia wydajności - równoległość zadań i danych (28)
- 1.2.3. Kiedy nie należy stosować współbieżności (30)
- 1.3. Współbieżność i wielowątkowość w języku C++ (31)
- 1.3.1. Historia przetwarzania wielowątkowego w języku C++ (31)
- 1.3.2. Obsługa współbieżności w nowym standardzie (32)
- 1.3.3. Większa obsługa współbieżności i równoległości w standardach C++14 i C++17 (33)
- 1.3.4. Efektywność biblioteki wątków języka C++ (33)
- 1.3.5. Mechanizmy związane z poszczególnymi platformami (34)
- 1.4. Do dzieła (35)
- 1.4.1. Witaj, świecie współbieżności! (35)
- 1.5. Podsumowanie (36)
- 2.1. Podstawowe zarządzanie wątkami (40)
- 2.1.1 Uruchamianie wątku (40)
- 2.1.2. Oczekiwanie na zakończenie wątku (43)
- 2.1.3. Oczekiwanie w razie wystąpienia wyjątku (44)
- 2.1.4. Uruchamianie wątków w tle (46)
- 2.2. Przekazywanie argumentów do funkcji wątku (47)
- 2.3. Przenoszenie własności wątku (50)
- 2.4. Wybór liczby wątków w czasie wykonywania (55)
- 2.5. Identyfikowanie wątków (57)
- 2.6. Podsumowanie (59)
- 3.1. Problemy związane ze współdzieleniem danych przez wątki (62)
- 3.1.1. Sytuacja wyścigu (64)
- 3.1.2. Unikanie problematycznych sytuacji wyścigu (65)
- 3.2. Ochrona współdzielonych danych za pomocą muteksów (66)
- 3.2.1. Stosowanie muteksów w języku C++ (66)
- 3.2.2. Projektowanie struktury kodu z myślą o ochronie współdzielonych danych (68)
- 3.2.3. Wykrywanie sytuacji wyścigu związanych z interfejsami (70)
- 3.2.4. Zakleszczenie: problem i rozwiązanie (77)
- 3.2.5. Dodatkowe wskazówki dotyczące unikania zakleszczeń (80)
- 3.2.6. Elastyczne blokowanie muteksów za pomocą szablonu std::unique_lock (87)
- 3.2.7. Przenoszenie własności muteksu pomiędzy zasięgami (89)
- 3.2.8. Dobór właściwej szczegółowości blokad (90)
- 3.3. Alternatywne mechanizmy ochrony współdzielonych danych (93)
- 3.3.1. Ochrona współdzielonych danych podczas inicjalizacji (93)
- 3.3.2. Ochrona rzadko aktualizowanych struktur danych (97)
- 3.3.3. Blokowanie rekurencyjne (99)
- 3.4. Podsumowanie (100)
- 4.1. Oczekiwanie na zdarzenie lub inny warunek (102)
- 4.1.1. Oczekiwanie na spełnienie warunku za pomocą zmiennych warunkowych (103)
- 4.1.2. Budowa kolejki gwarantującej bezpieczne przetwarzanie wielowątkowe przy użyciu zmiennych warunkowych (106)
- 4.2. Oczekiwanie na jednorazowe zdarzenia za pomocą przyszłości (111)
- 4.2.1. Zwracanie wartości przez zadania wykonywane w tle (112)
- 4.2.2. Wiązanie zadania z przyszłością (114)
- 4.2.3. Obietnice (szablon std::promise) (117)
- 4.2.4. Zapisywanie wyjątku na potrzeby przyszłości (119)
- 4.2.5. Oczekiwanie na wiele wątków (121)
- 4.3. Oczekiwanie z limitem czasowym (124)
- 4.3.1. Zegary (124)
- 4.3.2. Okresy (125)
- 4.3.3. Punkty w czasie (127)
- 4.3.4. Funkcje otrzymujące limity czasowe (129)
- 4.4. Upraszczanie kodu za pomocą technik synchronizowania operacji (131)
- 4.4.1. Programowanie funkcyjne przy użyciu przyszłości (131)
- 4.4.2. Synchronizacja operacji za pomocą przesyłania komunikatów (136)
- 4.4.3. Współbieżność w stylu kontynuacji dzięki użyciu Concurrency TS (141)
- 4.4.4. Łączenie kontynuacji ze sobą (143)
- 4.4.5. Oczekiwanie na więcej niż tylko jedną przyszłość (146)
- 4.4.6. Oczekiwanie za pomocą when_any na pierwszą przyszłość w zbiorze (148)
- 4.4.7. Zasuwy i bariery w Concurrency TS (151)
- 4.4.8. Zasuwa typu podstawowego - std::experimental::latch (151)
- 4.4.9. Podstawowa bariera - std::experimental::barrier (153)
- 4.4.10. std::experimental::flex_barrier, czyli elastyczniejszy przyjaciel std::experimental:barrier (155)
- 4.5. Podsumowanie (156)
- 5.1. Podstawowe elementy modelu pamięci (158)
- 5.1.1. Obiekty i miejsca w pamięci (158)
- 5.1.2. Obiekty, miejsca w pamięci i przetwarzanie współbieżne (159)
- 5.1.3. Kolejność modyfikacji (161)
- 5.2. Operacje i typy atomowe języka C++ (161)
- 5.2.1. Standardowe typy atomowe (162)
- 5.2.2. Operacje na typie std::atomic_flag (165)
- 5.2.3. Operacje na typie std::atomic
(167) - 5.2.4. Operacje na typie std::atomic
- arytmetyka wskaźników (170) - 5.2.5. Operacje na standardowych atomowych typach całkowitoliczbowych (172)
- 5.2.6. Główny szablon klasy std::atomic<> (172)
- 5.2.7. Wolne funkcje dla operacji atomowych (174)
- 5.3. Synchronizacja operacji i wymuszanie ich porządku (176)
- 5.3.1. Relacja synchronizacji (178)
- 5.3.2. Relacja poprzedzania (179)
- 5.3.3. Porządkowanie pamięci na potrzeby operacji atomowych (181)
- 5.3.4. Sekwencje zwalniania i relacja synchronizacji (201)
- 5.3.5. Ogrodzenia (204)
- 5.3.6. Porządkowanie operacji nieatomowych za pomocą operacji atomowych (206)
- 5.3.7. Porządkowanie operacji nieatomowych (207)
- 5.4. Podsumowanie (210)
- 6.1. Co oznacza projektowanie struktur danych pod kątem współbieżności? (212)
- 6.1.1. Wskazówki dotyczące projektowania współbieżnych struktur danych (213)
- 6.2. Projektowanie współbieżnych struktur danych przy użyciu blokad (214)
- 6.2.1. Stos gwarantujący bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (215)
- 6.2.2. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad i zmiennych warunkowych (218)
- 6.2.3. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu szczegółowych blokad i zmiennych warunkowych (222)
- 6.3. Projektowanie złożonych struktur danych przy użyciu blokad (235)
- 6.3.1. Implementacja tablicy wyszukiwania gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (235)
- 6.3.2. Implementacja listy gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (241)
- 6.4. Podsumowanie (246)
- 7.1. Definicje i ich praktyczne znaczenie (248)
- 7.1.1. Rodzaje nieblokujących struktur danych (248)
- 7.1.2. Struktury danych bez blokad (249)
- 7.1.3. Struktury danych bez oczekiwania (250)
- 7.1.4. Zalety i wady struktur danych bez blokad (250)
- 7.2. Przykłady struktur danych bez blokad (252)
- 7.2.1. Implementacja stosu gwarantującego bezpieczeństwo przetwarzania wielowątkowego bez blokad (253)
- 7.2.2. Eliminowanie niebezpiecznych wycieków - zarządzanie pamięcią w strukturach danych bez blokad (257)
- 7.2.3. Wykrywanie węzłów, których nie można odzyskać, za pomocą wskaźników ryzyka (262)
- 7.2.4. Wykrywanie używanych węzłów metodą zliczania referencji (271)
- 7.2.5. Zmiana modelu pamięci używanego przez operacje na stosie bez blokad (277)
- 7.2.6. Implementacja kolejki gwarantującej bezpieczeństwo przetwarzania wielowątkowego bez blokad (282)
- 7.3. Wskazówki dotyczące pisania struktur danych bez blokad (295)
- 7.3.1. Wskazówka: na etapie tworzenia prototypu należy stosować tryb std::memory_order_seq_cst (295)
- 7.3.2. Wskazówka: należy używać schematu odzyskiwania pamięci bez blokad (296)
- 7.3.3 Wskazówka: należy unikać problemu ABA (296)
- 7.3.4. Wskazówka: należy identyfikować pętle aktywnego oczekiwania i wykorzystywać czas bezczynności na wspieranie innego wątku (297)
- 7.4. Podsumowanie (298)
- 8.1. Techniki dzielenia pracy pomiędzy wątki (300)
- 8.1.1. Dzielenie danych pomiędzy wątki przed rozpoczęciem przetwarzania (301)
- 8.1.2. Rekurencyjne dzielenie danych (302)
- 8.1.3. Dzielenie pracy według typu zadania (307)
- 8.2. Czynniki wpływające na wydajność współbieżnego kodu (310)
- 8.2.1. Liczba procesorów (310)
- 8.2.2. Współzawodnictwo o dane i ping-pong bufora (311)
- 8.2.3. Fałszywe współdzielenie (314)
- 8.2.4. Jak blisko należy rozmieścić dane? (315)
- 8.2.5. Nadsubskrypcja i zbyt intensywne przełączanie zadań (316)
- 8.3. Projektowanie struktur danych pod kątem wydajności przetwarzania wielowątkowego (317)
- 8.3.1. Podział elementów tablicy na potrzeby złożonych operacji (317)
- 8.3.2. Wzorce dostępu do danych w pozostałych strukturach (319)
- 8.4. Dodatkowe aspekty projektowania współbieżnych struktur danych (321)
- 8.4.1. Bezpieczeństwo wyjątków w algorytmach równoległych (321)
- 8.4.2. Skalowalność i prawo Amdahla (329)
- 8.4.3. Ukrywanie opóźnień za pomocą wielu wątków (330)
- 8.4.4. Skracanie czasu reakcji za pomocą technik przetwarzania równoległego (332)
- 8.5. Projektowanie współbieżnego kodu w praktyce (334)
- 8.5.1. Równoległa implementacja funkcji std::for_each (334)
- 8.5.2. Równoległa implementacja funkcji std::find (337)
- 8.5.3. Równoległa implementacja funkcji std::partial_sum (343)
- 8.6. Podsumowanie (353)
- 9.1. Pule wątków (356)
- 9.1.1. Najprostsza możliwa pula wątków (356)
- 9.1.2. Oczekiwanie na zadania wysyłane do puli wątków (359)
- 9.1.3. Zadania oczekujące na inne zadania (363)
- 9.1.4. Unikanie współzawodnictwa w dostępie do kolejki zadań (366)
- 9.1.5. Wykradanie zadań (368)
- 9.2. Przerywanie wykonywania wątków (372)
- 9.2.1. Uruchamianie i przerywanie innego wątku (373)
- 9.2.2. Wykrywanie przerwania wątku (375)
- 9.2.3. Przerywanie oczekiwania na zmienną warunkową (375)
- 9.2.4. Przerywanie oczekiwania na zmienną typu std::condition_variable_any (379)
- 9.2.5. Przerywanie pozostałych wywołań blokujących (381)
- 9.2.6. Obsługa przerwań (382)
- 9.2.7. Przerywanie zadań wykonywanych w tle podczas zamykania aplikacji (383)
- 9.3. Podsumowanie (384)
- 10.1. Algorytmy równoległe w bibliotece standardowej (385)
- 10.2. Polityki wykonywania (386)
- 10.2.1. Ogólny efekt wyboru polityki wykonywania (386)
- 10.2.2. std::execution::sequenced_policy (388)
- 10.2.3. std::execution::parallel_policy (388)
- 10.2.4. std::execution::parallel_unsequenced_policy (389)
- 10.3. Algorytmy równoległości w bibliotece standardowej C++ (390)
- 10.3.1. Przykłady używania algorytmów równoległych (392)
- 10.3.2. Licznik odwiedzin (394)
- 10.4. Podsumowanie (396)
- 11.1. Rodzaje błędów związanych z przetwarzaniem współbieżnym (398)
- 11.1.1. Niechciane blokowanie (398)
- 11.1.2. Sytuacje wyścigu (399)
- 11.2. Techniki lokalizacji błędów związanych z przetwarzaniem współbieżnym (400)
- 11.2.1. Przeglądanie kodu w celu znalezienia ewentualnych błędów (401)
- 11.2.2. Znajdowanie błędów związanych z przetwarzaniem współbieżnym poprzez testowanie kodu (403)
- 11.2.3. Projektowanie kodu pod kątem łatwości testowania (405)
- 11.2.4. Techniki testowania wielowątkowego kodu (407)
- 11.2.5. Projektowanie struktury wielowątkowego kodu testowego (410)
- 11.2.6. Testowanie wydajności wielowątkowego kodu (413)
- 11.3. Podsumowanie (414)
- A.1. Referencje do r-wartości (415)
- A.2. Usunięte funkcje (420)
- A.3. Funkcje domyślne (421)
- A.4. Funkcje constexpr (425)
- A.5. Funkcje lambda (430)
- A.6. Szablony zmiennoargumentowe (436)
- A.7. Automatyczne określanie typu zmiennej (440)
- A.8. Zmienne lokalne wątków (441)
- A.9. Ustalanie argumentu szablonu klasy (442)
- A.10. Podsumowanie (443)
- D.1. Nagłówek
(465) - D.2. Nagłówek
(481) - D.3. Nagłówek
(498) - D.4. Nagłówek
(536) - D.5. Nagłówek
(561) - D.6. Nagłówek
(613) - D.7. Nagłówek
(619)
Rozdział 1. Witaj, świecie współbieżności w C++! (21)
Rozdział 2. Zarządzanie wątkami (39)
Rozdział 3. Współdzielenie danych przez wątki (61)
Rozdział 4. Synchronizacja współbieżnych operacji (101)
Rozdział 5. Model pamięci języka C++ i operacje na typach atomowych (157)
Rozdział 6. Projektowanie współbieżnych struktur danych przy użyciu blokad (211)
Rozdział 7. Projektowanie współbieżnych struktur danych bez blokad (247)
Rozdział 8. Projektowanie współbieżnego kodu (299)
Rozdział 9. Zaawansowane zarządzanie wątkami (355)
Rozdział 10. Algorytmy równoległości (385)
Rozdział 11. Testowanie i debugowanie aplikacji wielowątkowych (397)
Dodatek A. Krótki przegląd wybranych elementów języka C++11 (415)
Dodatek B. Krótkie zestawienie bibliotek przetwarzania współbieżnego (445)
Dodatek C. Framework przekazywania komunikatów i kompletny przykład implementacji systemu bankomatu (447)
Dodatek D. Biblioteka wątków języka C++ (465)
Skorowidz (631)
Helion - inne książki
-
Oto drugie wydanie książki, którą specjaliści CISO uznali za przełomową. Dowiesz się z niej, jak kwantyfikować niepewność i jak za pomocą prostych metod i narzędzi poprawić ocenę ryzyka w nowoczesnych organizacjach. Znalazły się tu nowe techniki modelowania, pomiaru i szacowania, a także mnóstwo ...(60.90 zł najniższa cena z 30 dni)
52.20 zł
87.00 zł(-40%) -
W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalnoś...(62.30 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Jeśli zastanawiasz się nad przekwalifikowaniem i karierą w branży informatycznej albo chcesz poszerzyć swoje umiejętności o programowanie, ale wydaje Ci się ono czarną magią, zapewniamy - w programowaniu nie ma nic z magii. To proces polegający na tworzeniu zbioru instrukcji, dzięki którym komput...(27.93 zł najniższa cena z 30 dni)
23.94 zł
39.90 zł(-40%) -
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowa...(34.93 zł najniższa cena z 30 dni)
29.94 zł
49.90 zł(-40%) -
Komputery firmy Apple to swojego rodzaju legenda - dla niektórych wybór oczywisty i właściwie jedyny, dla innych zwykła moda nakręcająca popularność, dla części tajemnica. Czy warto ją poznać i przesiąść się z komputera pracującego pod Windowsem lub Linuksem na Macintosha z macOS? Warto, warto, p...(53.40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...(41.40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł(-40%) -
Dzięki tej świetnie napisanej, miejscami przezabawnej książce dowiesz się, na czym naprawdę polega testowanie granic bezpieczeństwa fizycznego. To fascynująca relacja o sposobach wynajdywania niedoskonałości zabezpieczeń, stosowania socjotechnik i wykorzystywania słabych stron ludzkiej natury. Wy...(35.40 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł(-40%) -
Książka Java. Teoria w praktyce została pomyślana tak, by krok po kroku przybliżać specyfikę tego języka programowania. Zaczniesz od podstaw - poznasz między innymi główne założenia, zgodnie z którymi działa Java: maszynę wirtualną, zmienne, operatory, instrukcje sterujące i tablice - by następni...(65.40 zł najniższa cena z 30 dni)
65.40 zł
109.00 zł(-40%) -
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...(47.40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Współpraca z ChatGPT wymaga pewnego przygotowania. Niewątpliwą zaletą tej technologii jest to, że można się z nią porozumieć za pomocą języka naturalnego ― takiego, jakim komunikujemy się ze sobą na co dzień. Rzecz w tym, by nauczyć się w odpowiedni sposób zadawać pytania i wydawać poleceni...(29.94 zł najniższa cena z 30 dni)
29.94 zł
49.90 zł(-40%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Język C++ i przetwarzanie współbieżne w akcji. Wydanie II Anthony Williams (10) 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.
(3)
(3)
(3)
(0)
(0)
(1)
Oceny i opinie poprzedniego wydania
więcej opinii