Ужасы многопоточности: неопределённость, дедлоки, лайвлоки, callback hell и многое другое

Гость. Алексей Ушаровский. Software Engineer в Oracle. Содержание выпуска — Что такое многопоточность и где она используется. — Зачем исторически понадобилось распараллеливать вычисления. — Какие физические ограничения процессоров позволяет обойти многопоточность. — Что такое concurrency, чем она отличается от многопоточности и какие преимущества даёт пользователям. — Параллелизм и многопоточность (multithreading) — в чём разница? — Почему работа с многопоточностью — это часто взрыв мозга. — Что такое дедлок (deadlock) и лайвлок (livelock), как Java Memory Model от них спасает. — Асинхронность: что это такое и чем отличается от многопоточности, как реализована в JavaScript. Async/await и callback hell. — Фреймворк RxJava и паттерн Observer. — Почему нельзя просто взять и синхронизировать потоки? — Инструменты для работы с многопоточностью в Java: synchronized, методы wait и notify, модуль concurrency, semafor и другие. — «Kotlin — это Java здорового человека». — Зависит ли работа с многопоточностью от аппаратной платформы и операционной системы. — Как реализована работа с многопоточностью в разных языках программирования. — Какие концепции, связанные с многопоточностью сейчас активно обсуждаются и внедряются. Полезные ссылки — Доклад Алексея Шипилёва про Java Memory Model — Доклад Алексея Шипилёва «Близкие контакты JMM-степени» — «Java Concurrency на практике», Гетц Б., Пайерлс Т., Ли Д. Стартовать в программировании вместе со Skillbox: Наш подкаст удобно слушать на популярных платформах: Castbox: «Яндекс.Музыка»: Apple Podcasts: Подписывайтесь, ставьте лайки, делитесь с друзьями и оставляйте комментарии!
Back to Top