30 августа 2017-го в офисе компании Oracle состоялась встреча с Олегом Шелаевым, Developer Advocate в компании ZeroTurnaround, которая делает JRebel и XRebel. Темой встречи стали инструменты создания многопоточных программ на Java.
Встретить однопоточную программу в наше время — редкость (если не смотреть на JavaScript). В этом докладе разобраны возможности организации многопоточного кода в Java: от конструирования велосипедов и запуска потоков ручками до ForkJoinPool-ов, зеленых потоков и транзакционной памяти.
Писать корректный многопоточный код сложно, и выбор правильной модели может существенно облегчить последующие страдания программистов. Но какой подход лучше всего?
В этом докладе решено было разобрать простую задачку на параллельное выполнение кода и решить ее разными способами: потоками, сгруппированными потоками, актёрами, зелеными потоками, с помощью CompletableFuture и так далее. Каждый новый способ отличается по простоте написания и поддержки кода, легче масштабируется на более сложные задачи. В итоге выясняется, что и когда лучше использовать.
Партнеры мероприятия:
- Олег ШелаевDeveloper advocate в проекте Graal в OracleLabs, стремящийся донести до мира, что с Graal программы работают быстрее, а разработчики продуктивнее. Один из организаторов vJUG, виртуальной Java User Group. В 2017-м получил звание Java Champion. В свободное время пытается продвигать науку в Тартуском университете, изучая проблемы динамических обновлений программ.