Многопоточность: неопределённость, дедлоки, лайвлоки, callback hell и другие ужастики
Подкаст «Люди и код», выпуск № 88: Алексей Ушаровский.
Иллюстрация: Polina Vari для Skillbox Media
У нашего подкаста появился отдельный телеграм-канал. Подписывайтесь, чтобы не пропустить новые выпуски, голосовать за новые темы, предлагать гостей и присылать свои вопросы для следующих выпусков.
Алексей Ушаровский
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 на практике», Гетц Б., Пайерлс Т., Ли Д.
Предложить тему, стать гостем подкаста, похвалить или поругать выпуск: code.media@skillbox.ru, t.me/antoxa_s95
Слушать выпуск
Наш подкаст удобно слушать на популярных платформах:
Подписывайтесь, ставьте лайки, делитесь с друзьями и оставляйте комментарии!
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!