,
[ Pobierz całość w formacie PDF ]
//-->Tytuł oryginału: C++ Concurrency in Action: Practical MultithreadingTłumaczenie: Mikołaj SzczepaniakProjekt okładki: Anna MitkaMateriały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.ISBN: 978-83-246-7140-3Original edition copyright © 2012 by Manning Publications Co.All rights reserved.Polish edition copyright © 2013 by HELION SA.All rights reserved.All rights reserved. No part of this book may be reproduced or transmitted in any form or byany means, electronic or mechanical, including photocopying, recording or by any informationstorage retrieval system, without permission from the Publisher.Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentuniniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodąkserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznymlub innym powoduje naruszenie praw autorskich niniejszej publikacji.Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymibądź towarowymi ich właścicieli.Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawartew tej książce informacje były kompletne i rzetelne. Nie biorą jednakżadnejodpowiedzialnościani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lubautorskich. Autor oraz Wydawnictwo HELION nie ponoszą równieżżadnejodpowiedzialnościza ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail:helion@helion.plWWW:http://helion.pl(księgarnia internetowa, katalog książek)Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adreshttp://helion.pl/user/opinie/jcpppw_ebookMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.Printed in Poland.•Poleć książkę na Facebook.com•Kup w wersji papierowej•Oceń książkę•Księgarnia internetowa•Lubię to!»Nasza społecznośćDla Kim, Hugh i Erin.Spis treściSłowo wstępne .......................................................................................................................................... 11Podziękowania .......................................................................................................................................... 13O tej książce .............................................................................................................................................. 15Rozdział 1. Witaj,świeciewspółbieżności w C++!1.1.1.2.191.3.1.4.1.5.Czym jest współbieżność? ........................................................................................................... 201.1.1. Współbieżność w systemach komputerowych ................................................................. 201.1.2. Modele współbieżności ..................................................................................................... 22Dlaczego warto stosować współbieżność? ................................................................................. 251.2.1. Stosowanie współbieżności do podziału zagadnień ......................................................... 251.2.2. Stosowanie współbieżności do podniesienia wydajności ................................................. 261.2.3. Kiedy nie należy stosować współbieżności ....................................................................... 27Współbieżność i wielowątkowość w języku C++ .................................................................... 281.3.1. Historia przetwarzania wielowątkowego w języku C++ ................................................ 291.3.2. Obsługa współbieżności w nowym standardzie ............................................................... 301.3.3. Efektywność biblioteki wątków języka C++ .................................................................. 301.3.4. Mechanizmy związane z poszczególnymi platformami ................................................... 32Do dzieła! ...................................................................................................................................... 321.4.1. „Witajświeciewspółbieżności” ......................................................................................... 32Podsumowanie .............................................................................................................................. 34Rozdział 2. Zarządzanie wątkami2.1.352.2.2.3.2.4.2.5.2.6.Podstawowe zarządzanie wątkami ............................................................................................. 362.1.1 Uruchamianie wątku .......................................................................................................... 362.1.2. Oczekiwanie na zakończenie wątku .................................................................................. 392.1.3. Oczekiwanie w razie wystąpienia wyjątku ....................................................................... 392.1.4. Uruchamianie wątków w tle .............................................................................................. 42Przekazywanie argumentów do funkcji wątku ......................................................................... 43Przenoszenie własności wątku .................................................................................................... 46Wybór liczby wątków w czasie wykonywania ........................................................................... 49Identyfikowanie wątków ............................................................................................................. 52Podsumowanie .............................................................................................................................. 54Rozdział 3. Współdzielenie danych przez wątki3.1.3.2.55Problemy związane ze współdzieleniem danych przez wątki ................................................. 563.1.1. Sytuacja wyścigu ................................................................................................................ 583.1.2. Unikanie problematycznych sytuacji wyścigu .................................................................. 59Ochrona współdzielonych danych za pomocą muteksów ........................................................ 603.2.1. Stosowanie muteksów w języku C++ ............................................................................. 603.2.2. Projektowanie struktury kodu z myślą o ochronie współdzielonych danych ................. 62 [ Pobierz całość w formacie PDF ] |
Wątki
|