Opinie na temat książki "Język C++ i przetwarzanie współbieżne w akcji"

1

Zastanawiam się nad zakupem książki jak w tytule. Ktoś czytał i może powiedzieć czy warto/nie warto? W niektórych miejscach anglojęzycznego internetu określają tę książkę nawet jako "must read".

0

Mam tę książkę. Moim zdaniem jest warta zakupu. Napisana jest bardzo przystępnym (jak dla mnie) językiem i jest swoistym kompendium na temat programowania wielowątkowego w C++. Plus do tego jest aktualna, bo obejmuje najnowszy standard języka.

0

Nie mam tej książki, ale zakres poruszanych zagadnień (spis treści) wygląda bardzo dobrze.

Z drugiej strony - jesteś pewien, że chcesz się w to bawić? Współbieżność w C++ (i ogólnie bez GC) to jest niezły hardcore graniczący z "nie da się", oczywiście jeśli mówimy o programowaniu czegoś co się serio skaluje, a nie tylko naiwnym blokowaniu wszystkiego muteksami. Tu masz fajną próbkę tego co Cię czeka: http://www.drdobbs.com/lock-free-data-structures/184401865. Do tego w (czasem poważnej) literaturze jest pełno niepoprawnych implementacji takich struktur.

0

Z drugiej strony - jesteś pewien, że chcesz się w to bawić? Współbieżność w C++ (i ogólnie bez GC) to jest niezły hardcore graniczący z "nie da się", oczywiście jeśli mówimy o programowaniu czegoś co się serio skaluje, a nie tylko naiwnym blokowaniu wszystkiego muteksami. Tu masz fajną próbkę tego co Cię czeka: http://www.drdobbs.com/lock-free-data-structures/184401865. Do tego w (czasem poważnej) literaturze jest pełno niepoprawnych implementacji takich struktur.

Obecnie przy uzyciu std::atomic masz zapewnioną sequential consistency, więc lock-free programming nie jest znacznie trudniejsze niż w Javie (jak zwykle boli brak gc). Do tego można zrezygnować z sequential constistency na rzecz bardziej wydajnych modelów (tutaj zaczyna sie hardcore, ale sa ludzie ktorzy i ta sztuke opanowali - np. http://www.1024cores.net/). ZTCW Java tego nie potrafi.

0

więc lock-free programming nie jest znacznie trudniejsze niż w Javie (jak zwykle boli brak gc)

O brak GC się właśnie rozchodzi. Zmienia to całkowicie sposób programowania takich struktur - coś co jest trywialne z GC, jest ekstremalnie trudne lub niemożliwe bez, do tego stopnia, że naukowcy piszą na ten temat artykuły. Post Alexandrescu, który podlinkowałem, dobrze pokazuje na czym polega problem, mimo że struktura, którą implementuje jest wyjątkowo prosta i ma wiele wad, np. jest mało przyjazna dla pamięci / cache (update = kopiowanie całości, paskudztwo).

0

Przeczytałem tę książkę (ale w wersji anglojęzycznej) i szczerze ją polecam. Książka jest bardziej przeglądem standardu C++11 (z największym nakładem na obsługę wielowątkowości), niż jakimś zaawansowanym omówieniem programowania równoległego w C++. W związku z tym przykłady zawarte w książce są raczej trywialne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1