Współbieżność dla praktyków, dobra rzecz
Dziwna książka o dziwnej dziedzinie jaką jest współbieżność. Jednak jest to chyba najlepsze wydawnictwo dotyczące współbieżności w javie jakie istnieje. Kiedyś na spotkani WJUG Waldi wspominał o niej. W końcu po roku stania na półce przeczytana została i przeze mnie.
Na początek mamy trochę podstaw. Co to jest niezmiennik i dlaczego spójny stan obiektu jest taki ważny. Po co nam synchronizacja i jak działają najprostsze mechanizmy w postaci synchronized. Później autorzy omawiają problemy związane z różnymi rodzajami synchronizacji, dostępem do kolekcji i problemem wydajności. Przy okazji omawiają kolejne klasy, które pomagają nam osiągnąć pożądane rezultaty. Następnie omawiane są zagadnienia wpływu synchronizacji i współbieżności na wydajność. Na koniec pozostaje problem testowania.
Ogromną zaletą książki jest omawianie problemów z różnych punktów widzenia. Nie tylko z perspektywy „jedynego słusznego rozwiązania”. Z pochwałę zasługuje też fakt, że wszystkie zagadnienia są opisywane w ujęciu różnych wersji języka Java. niektóre różnice pomiędzy javą 1.4, 1.5 i 1.6 są szokujące, a wybór odpowiedniego rozwiązania problemu często zależy od konkretnej wersji języka.
Książkę polecam wszystkim, którzy chcą się dowiedzieć czegoś o współbieżności. Powinna być to też obowiązkowa lektura dla programistów EE, którzy zwyczajowo już chyba zrzucają obsługę wątków na kontener.
Na koniec trochę ponarzekam. Książka została przetłumaczona średnio, ale korekt jest tragiczna. Trzeba bardzo dokładnie uważać czytając listingi i treść, bo nie zawsze sobie odpowiadają.