Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры - это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина Java, поддержка высокопроизводительных классов и богатый набор строительных блоков для задач распараллеливания стали в свое время прорывом в разработке параллельных приложений. В "Java Concurrency на практике" сами создатели прорывной технологии объясняют не только принципы работы, но и рассказывают о паттернах проектирования. Легко создать конкурентную программу, которая вроде бы будет работать. Однако разработка, тестирование и отладка многопоточных программ доставляют много проблем. Код перестает работать именно тогда, как это важнее всего: при большой нагрузке. В "Java Concurrency на практике" вы найдете как теорию, так и конкретные методы создания надежных, масштабируемых и поддерживаемых параллельных приложений. Авторы не предлагают перечень API и механизмов параллелизма, они знакомят с правилами проектирования, паттернами и моделями, которые не зависят от версии Java и на протяжении многих лет остаются актуальными и эффективными. Эта книга охватывает следующие темы: - Базовые концепции параллелизма и безопасности потоков - Методы построения и составления многопоточных классов - Использование блоков параллелизма в java.util.concurrent - Оптимизация производительности: что можно делать, а что не стоит и пытаться - Тестирование параллельных программ - Атомарные переменные, неблокирующие алгоритмы и модель памяти Java
Potoki yavlyayutsya fundamentalnoy chastyu platformy Java. Mnogoyadernye protsessory - eto obydennaya realnost, a effektivnoe ispolzovanie parallelizma stalo neobkhodimym dlya sozdaniya lyubogo vysokoproizvoditelnogo prilozheniya. Uluchshennaya virtualnaya mashina Java, podderzhka vysokoproizvoditelnykh klassov i bogatyy nabor stroitelnykh blokov dlya zadach rasparallelivaniya stali v svoe vremya proryvom v razrabotke parallelnykh prilozheniy. V "Java Concurrency na praktike" sami sozdateli proryvnoy tekhnologii obyasnyayut ne tolko printsipy raboty, no i rasskazyvayut o patternakh proektirovaniya. Legko sozdat konkurentnuyu programmu, kotoraya vrode by budet rabotat. Odnako razrabotka, testirovanie i otladka mnogopotochnykh programm dostavlyayut mnogo problem. Kod perestaet rabotat imenno togda, kak eto vazhnee vsego: pri bolshoy nagruzke. V "Java Concurrency na praktike" vy naydete kak teoriyu, tak i konkretnye metody sozdaniya nadezhnykh, masshtabiruemykh i podderzhivaemykh parallelnykh prilozheniy. Avtory ne predlagayut perechen API i mekhanizmov parallelizma, oni znakomyat s pravilami proektirovaniya, patternami i modelyami, kotorye ne zavisyat ot versii Java i na protyazhenii mnogikh let ostayutsya aktualnymi i effektivnymi. Eta kniga okhvatyvaet sleduyushchie temy: - Bazovye kontseptsii parallelizma i bezopasnosti potokov - Metody postroeniya i sostavleniya mnogopotochnykh klassov - Ispolzovanie blokov parallelizma v java.util.concurrent - Optimizatsiya proizvoditelnosti: chto mozhno delat, a chto ne stoit i pytatsya - Testirovanie parallelnykh programm - Atomarnye peremennye, neblokiruyushchie algoritmy i model pamyati Java