Данный дайджест, по возможности, не затрагивает общие вопросы по concurrency и больше сконцентрирован в контексте Java-платформы.
Общие вопросы
Если кто еще не слышал, то The Free Lunch Is Over.
Поэтому хорошо бы ознакомится хотя бы поверхностно с тем, как работает система ниже JVM. Как вариант — можно взять книгу Таненбаума «Современные операционные системы». Если есть те, кому совсем нечем заняться, то можно немного почитатьпро cache coherency, можно прочитать побольшепро memory consistency and cache coherence.
Java Concurrency
Для начинающих
A Lazy Developers Introduction to Java Concurrency Executors. Таки для ленивых.
Java Concurrency / Multithreading Tutorialи Java Concurrency Utilities. Неплохие туториалы, но мне показалось, что они больше для начинающих.
Для тех, кто поленился почитать Таненбаума, небольшой туториал про Семафоры. В статье есть ссылки на другие примитивы concurrency, такие как CountDownLatch, ReentrantLockи тд.
Для всех (книги)
Java Concurrency in Practice — это классика. Обязательна к прочтению.
Programming Concurrency on the JVMот Venkat Subramaniam.
Для всех (ресурсы)
Concurrency-interest — мейлинг лист, название говорит само за себя.
>рабочие заметки. Интересный русскоязычный блог, содержит много хардкора.
Psychosomatic, Lobotomy, Saw. Интересный англоязычный блог, содержит еще больше хардкора.
Для всех (остальное)
#когдаужепочинятdoublecheckedlockingинтересная статья от Aleksey Shipilёvпро публикацию ссылок на объекты.
ForkJoinPool в Java 8 от все того же Aleksey Shipilёv.
А еще в Java 8 появились параллельные стримы, но это не отменяет необходимость думать (хоть и существует готовое решение).
Akka — фреймворк на моделе акторов, документация по его Java API. И статья с неимоверным количеством базз-вордов.
GPars — concurrency-фреймворк с Groovyналетом. И как с ним работать из Java.
Статьяот Martin Fowlerпро архитектуру LMAXи Disruptor. Сайтпроекта на github содержит интересные ссылки. И видеос разбором того, что в нем есть. Все же надо понимать, что штука довольно специфичная и, скорее всего, вам будет достаточно ArrayBlockingQueueиз java.util.concurrent.
Java Memory Model
В этом году с JMMсвязано уже немало выступлений и материалов.Учитывая JEP 188, можно предположить, что тема и дальше будет очень популярной.
FAQпо JSR 133. Начало 2004 года, но все еще есть много интересного, правда, с того времени по кускам разъехалось по массе книг и ресурсов.
Java Memory Model Pragmatics — транскрипция доклада Aleksey Shipilёv. И видеодоклада. Лучше сначала посмотреть видео, потом почитать текст. Повторять до наступления просветления.
Что «под капотом»у многопоточности Java. Не совсем про JMM, но кому-то может помочь прояснить какие-то моменты. А может и не прояснить.
P.S. Предложения, пожелания по темам для новых выпусков и в общем по выпускам принимаются.
P.P.S. Есть идея сделать дайджест более новостным, но поскольку в мире Java ничего не происходит Java — очень стабильная платформа, то буду благодарен за любые интересные материалы. Присылайте.