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

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

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

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

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

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

  1. Олег Шелаев
    Олег Шелаев
    Developer advocate в проекте Graal в OracleLabs, стремящийся донести до мира, что с Graal программы работают быстрее, а разработчики продуктивнее. Один из организаторов vJUG, виртуальной Java User Group. В 2017-м получил звание Java Champion. В свободное время пытается продвигать науку в Тартуском университете, изучая проблемы динамических обновлений программ.