Ocena:
Książka stanowi kompleksowe wprowadzenie do współbieżności i równoległości, szczególnie przez pryzmat nowoczesnych języków programowania, takich jak Clojure i Elixir. Jest dobrze skonstruowana i wciągająca, dzięki czemu złożone koncepcje są dostępne zarówno dla początkujących, jak i doświadczonych programistów. Czytelnicy doceniają jasne wyjaśnienia autora i praktyczne przykłady, choć niektórzy zauważają, że skupienie się na Clojure może ograniczyć jego zastosowanie dla osób niezaznajomionych z tym językiem.
Zalety:⬤ Przejrzyste i zwięzłe wyjaśnienia koncepcji i modeli współbieżności.
⬤ Wciągający styl pisania sprawia, że lektura jest przyjemna.
⬤ Przydatna zarówno dla początkujących, jak i doświadczonych programistów, oferując nowe spojrzenie i praktyczne zastosowania.
⬤ Szeroki zakres poruszanych tematów, w tym nowoczesne języki i techniki.
⬤ Dobrze rozplanowane rozdziały, które pozwalają na stopniową naukę.
⬤ Duży nacisk na Clojure może zrazić czytelników, którzy nie są zaznajomieni z tym językiem.
⬤ Niektórzy czytelnicy stwierdzili, że struktura nie jest odpowiednia do nauki grupowej lub klubów książki.
⬤ Problemy z formatowaniem Kindle sprawiają, że przykłady kodu są trudne do odczytania.
⬤ Kilku recenzentów uznało, że treść jest albo przestarzała, albo w zbyt dużym stopniu opiera się na innych źródłach.
⬤ Ograniczona głębia na temat konkretnych implementacji współbieżności, co może sprawić, że eksperci będą chcieli więcej.
(na podstawie 33 opinii czytelników)
Seven Concurrency Models in Seven Weeks: When Threads Unravel
Twoje oprogramowanie musi wykorzystywać wiele rdzeni, obsługiwać tysiące użytkowników i terabajty danych oraz kontynuować pracę w obliczu awarii sprzętu i oprogramowania. Kluczem do tego jest współbieżność i równoległość, a Seven Concurrency Models in Seven Weeks przygotuje Cię na ten nowy świat. Zobacz, jak nowe technologie, takie jak aktorzy i programowanie funkcjonalne, rozwiązują problemy związane z tradycyjnymi wątkami i blokadami. Dowiedz się, jak wykorzystać równoległość w procesorze graficznym komputera i wykorzystać klastry maszyn za pomocą MapReduce i Stream Processing. A wszystko to z pewnością siebie wynikającą z korzystania z narzędzi, które pomagają pisać krystalicznie czysty, wysokiej jakości kod.
Ta książka pokaże ci, jak wykorzystać różne architektury równoległe do poprawy wydajności, skalowalności i odporności twojego kodu. Poznasz siedem modeli współbieżności: wątki i blokady, programowanie funkcyjne, oddzielanie tożsamości od stanu, aktorów, procesy sekwencyjne, równoległość danych i architekturę lambda.
Dowiedz się o zagrożeniach związanych z tradycyjnym programowaniem wątków i blokad oraz o tym, jak je pokonać dzięki starannemu projektowaniu i pracy z biblioteką standardową. Zobacz, jak aktorzy umożliwiają oprogramowaniu działającemu na komputerach rozproszonych geograficznie współpracę, radzenie sobie z awariami i tworzenie systemów, które działają 24/7/365. Zrozumiesz, dlaczego współdzielony zmienny stan jest wrogiem solidnego współbieżnego kodu i zobaczysz, jak programowanie funkcyjne wraz z technologiami takimi jak Software Transactional Memory (STM) i automatyczna równoległość pomagają go okiełznać.
Poznasz niewykorzystany potencjał drzemiący w każdym GPU i dowiesz się, jak oprogramowanie GPGPU może go uwolnić. Zobaczysz, w jaki sposób wykorzystać MapReduce, by wykorzystać ogromne klastry do rozwiązywania wcześniej trudnych do rozwiązania problemów, a także jak, w połączeniu z przetwarzaniem strumieniowym, można okiełznać duże zbiory danych.
Dzięki zrozumieniu mocnych i słabych stron każdego z różnych modeli i architektur sprzętowych, będziesz w stanie pewnie stawić czoła każdemu problemowi.
Czego potrzebujesz:
Przykładowy kod można skompilować i uruchomić w systemach *nix, OS X lub Windows. Instrukcje dotyczące pobierania odpowiednich systemów kompilacji znajdują się w każdym rozdziale.
© Book1 Group - wszelkie prawa zastrzeżone.
Zawartość tej strony nie może być kopiowana ani wykorzystywana w całości lub w części bez pisemnej zgody właściciela.
Ostatnia aktualizacja: 2024.11.13 21:45 (GMT)