После прочтения “Грокаем конкурентность” решил закрепить материал книгой, которая знакомит с конкурентностью на Java. Как оказалось, материалу уже 20 лет и в книге, например, описываются программные реализации на Java 5(!). Так как я еще не настолько хорошо знаю Java, что бы оценить “свежесть” языкового материала, остается только познакомиться с теоретической частью, благо что она не маленькая.

КДПВ

Честно говоря, перевод книги оставляет желать лучшего, по этому в целом она оставили какие-то странные впечатления. С одной стороны, есть интересный материал и классные примеры кода с которыми надо будет обязательно попрактиковаться, что бы разобраться лучше. С другой стороны, разбираться с материалом сложно не столько по тому, что сам по себе материал не простой, сколько из-за его подачи. Все эти “замки” и прочие странные термины сильно сбивают с толку… и да, нет ни слова о асинхронном исполнении. Хотя, конечно, такое исполнение не столько о конкуренции, сколько о удаленном выполнении кода, на “нашей” стороне, которой остается только ждать результата, и пока мы его ждем - заниматься чем-то другим. В этом смысле, проблемы, которые описаны в этой книге, асинхронный код не затрагивают, но в той же “Грокаем…” асинхронный подход упоминается…

Очень понравилось то, что кроме основ, вроде того, что такое потокобезопасность и совместное использование, есть целый раздел, который посвящен тестированию! С примерами кода и всего такого. Безусловно, этим книга не ограничивается, есть еще знакомство с GUI и абстракциями типа AbstractQueuedSynchronizer… и даже немного о модели памяти Java. В общем, полезного и разнообразного материала там достаточно. Но, за тестирование отдельный респект, так сказать :)

Конечно же, в книге упоминается “Закон Амдала”, но не только. Благодаря книге открыл для себе еще один Закон, “Закон Литтла”, который касается очередей и звучит примерно так: - “Среднее число клиентов в стабильной системе равно их средней скорости прибытия, умноженной на их среднее время в системе”. Другими словами, время в системе пропорционально количеству заявок в системе при заданной интенсивности входного потока и не зависит от других характеристик.

Качество издания я бы назвал не плохим: полиграфия, шрифты, иллюстрации - все выглядит ок. Разве что, переплет немного подвел, для не очень толстой книги сложно разворачивать у корешка, из-за чего приходится как-то корячиться в начале и конце книги… В новых изданиях такой проблемы уже нет, по крайней мере я не сталкивался. С другой стороны, это странно, так как у меня издания 2024 года, репритн, если быть точнее… при этом электронная версия издания за 2020-й. Интересно, когда было издан первый раз этот перевод :)


Автор(ы):

  • Brian Goetz
  • Tim Peierls
  • Joshua Bloch
  • Joseph Bowbeer
  • David Holmes
  • Doug Lea

Год издания: 2024
Количество страниц: 464
Оценка: 4/5

Издатель: Питер
Ссылка на страницу книги на сайте издательства: https://www.piter.com/product/java-concurrency-na-praktike

Оригинальное название: Java Concurrency in Practice
Год издания оригинала: 2006

Дополнение: