Перейти к содержимому

Михаил Поливаха — За пределами synchronized: на рубеже Thread Safety

Joker — Конференция о будущем разработки

0:00 / 0:00

Михаил Поливаха — За пределами synchronized: на рубеже Thread Safety

1 550 просмотров · 4 дня назад
Joker — Конференция о будущем разработки
57,8 тыс. подписчиков
1 550 просмотров · 4 дня назад
Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx — осенью — Joker: https://jrg.su/h7yvG4 — — Скачать презентацию с сайта — https://jrg.su/hGv4rT Написать многопоточный код само по себе сложно, но вот проверить — это, как правило, еще более сложная задача. Мы начнем с обсуждения того, почему стандартные тесты не ловят состояния гонки и почему «на моей машине работает» — опасная иллюзия для Java-разработчика. Тестирование конкурентности сопряжено с уникальными вызовами: от недетерминизма выполнения до нюансов видимости изменений в памяти. Далее мы разберем теоретические подходы, которые делают верификацию многопоточности возможной. Сравним различные философии: от стресс-тестирования на уровне железа до формального анализа моделей. В основной части доклада мы погрузимся в работу трех ключевых инструментов: JCStress, Lincheck и Fray. Вы узнаете, в каких сценариях каждый из них проявляет себя лучше всего и как выбрать подходящий инструмент под вашу модель многопоточности. В итоге у вас будет четкая карта развития, которая позволит освоиться на рубеже потокобезопасности и превратить непредсказуемые «гейзенбаги» в системную часть вашего Quality Gate.