Фестиваль РИТ++ 2016 завершён. Изучайте презентации, смотрите фотографии и ждите видео :)
Профессиональная конференция для серверных веб-разработчиков

Ангелы и демоны многопоточного программированияТеория программирования

Доклад принят в программу конференции
Алексей Федоров

Технический евангелист в проекте Одноклассники. Лидер российской Java User Group, организатор и главный идеолог крупнейших в России конференций по Java (JPoint, Joker), .NET (DotNext) и JavaScript (HolyJS). Три года проработал в Oracle в Java Platform Group.

Увлекается многопоточным программированием, производительностью программ и современными рантаймами.

Современные процессоры имеют на борту по нескольку вычислительных ядер, позволяющих запускать задачи на них параллельно. И, казалось бы, вот оно — счастье: бей большие задачи на куски, запускай эти куски параллельно на разных ядрах и радуйся.

Но не все так просто. Для того чтобы одновременный доступ к общим данным выполнялся корректно, современные системы используют разные примитивы синхронизации. В основе одних лежат блокировки (locks), в основе других — операции типа сравнение-с-обменом (compare-and-swap). Однако и у тех и у других есть свои слабые места. О них мы и поговорим.

Из доклада вы узнаете, чем блокирующие алгоритмы отличаются от неблокирующих, и какими достоинствами и недостатками обладает каждый из этих классов. Кроме того, будут показаны различные подводные камни тех и других решений: Deadlock, Livelock, Starvation, Mutable vs Immutable hype.

Другие доклады секции Теория программирования