Олег Шелаев — Обзор возможностей многопоточности в Java

30 августа 2017-го в офисе компании Oracle состоялась встреча с Олегом Шелаевым, Developer Advocate в компании ZeroTurnaround, которая делает JRebel и XRebel. Темой встречи стали инструменты создания многопоточных программ на Java.

Встретить однопоточную программу в наше время — редкость (если не смотреть на JavaScript). В этом докладе разобраны возможности организации многопоточного кода в Java: от конструирования велосипедов и запуска потоков ручками до ForkJoinPool-ов, зеленых потоков и транзакционной памяти.

Писать корректный многопоточный код сложно, и выбор правильной модели может существенно облегчить последующие страдания программистов. Но какой подход лучше всего?

В этом докладе решено было разобрать простую задачку на параллельное выполнение кода и решить ее разными способами: потоками, сгруппированными потоками, актёрами, зелеными потоками, с помощью CompletableFuture и так далее. Каждый новый способ отличается по простоте написания и поддержки кода, легче масштабируется на более сложные задачи. В итоге выясняется, что и когда лучше использовать.

Партнеры мероприятия:

  1. Олег Шелаев
    Java-разработчик и Developer Advocate в ZeroTurnaround. Когда не занимается написанием java agent-ов или тестов, пишет в блог RebelLabs или выступает на конференциях. В свободное время пытается продвигать науку в Тартуском университете, изучая проблемы динамических обновлений программ.