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

Odpowiedz Nowy wątek
2013-10-06 12:38

Rejestracja: 10 lat temu

Ostatnio: 3 godziny temu

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".


Pozostało 580 znaków

tr
2013-10-08 09:32
tr
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.

Pozostało 580 znaków

2013-10-08 10:16
Moderator

Rejestracja: 16 lat temu

Ostatnio: 3 godziny temu

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.

edytowany 2x, ostatnio: Krolik, 2013-10-08 11:14
Może chce pracować w NSN? Tam ponoć współbieżne C++ działa. - somekind 2013-10-08 11:50
@Krolik: właśnie dlatego najważniejszym idiomem w C++ jest RAII. Ponadto przy (odpowiednim) użyciu smart pointerów oraz semantyki przenoszenia można udanie unikać problemów z zarządzaniem pamięcią. Mimo wszystko wielowątkowość w standardzie C++ nadal jest dość uboga, bo brakuje tutaj, np. czegoś tak oczywistego puli wątków. - satirev 2013-10-09 22:57
RAII niestety nie pomaga przy implementacji nieblokujących algorytmów - 0x200x20 2013-10-10 08:42
Nie tylko RAII nie pomaga, ale i auto_ptr oraz shared_ptr też nie. - Krolik 2013-10-10 11:21
@somekind w moim przypadku chodzi o zrobienie jakiegoś kroku na przód z programowaniem wielowątkowym, jak na razie to szczyt moich możliwości w tej materii to, jak to określił @Krolik, blokowanie wszystkiego muteksami. - several 2013-10-10 23:54

Pozostało 580 znaków

2013-10-09 08:50

Rejestracja: 8 lat temu

Ostatnio: 3 lata temu

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.

Pozostało 580 znaków

2013-10-09 19:44
Moderator

Rejestracja: 16 lat temu

Ostatnio: 3 godziny temu

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).

Pozostało 580 znaków

2013-10-09 23:02

Rejestracja: 8 lat temu

Ostatnio: 1 miesiąc temu

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.

Pozostało 580 znaków

Odpowiedz

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