Многопоточность: неопределённость, дедлоки, лайвлоки, callback hell и другие ужастики
Listen now
Description
Содержание выпуска — Что такое многопоточность и где она используется. — Зачем исторически понадобилось распараллеливать вычисления. — Какие физические ограничения процессоров позволяет обойти многопоточность — Что такое 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 https://www.youtube.com/watch?v=iB2N8aqwtxc — Доклад Алексея Шипилёва «Близкие контакты JMM-степени» https://www.youtube.com/watch?v=C6b_dFtujKo&list=PLecCTjz_4ylyyvYExhPAzB4Mqn3Q_kEj6 — «Java Concurrency на практике», Гетц Б., Пайерлс Т., Ли Д. https://www.piter.com/collection/all/product/java-concurrency-na-praktike?ysclid=ln1hku5g47984729844 Гость. Алексей Ушаровский. Software Engineer в Oracle. Стартовать в программировании вместе со Skillbox: skillbox.ru/code Подписывайтесь, ставьте лайки, делитесь с друзьями и оставляйте комментарии!
More Episodes
Published 05/10/24
Содержание — Какие существуют архитектуры, кроме монолитной, микросервисной и облачной — Как эволюционировали подходы к построению веб-приложений и зачем пришлось выдумывать принципы и паттерны — Что такое монолитная архитектура и какие мифы вокруг неё существуют — Как правильно писать код на...
Published 05/10/24
Содержание — Почему важно осознанно подходить к профессиональному росту — Про два типа разработчиков — Гибкие методологии: когда они лучше waterfall, а когда наоборот — Почему бизнес ценит разработчиков, вовлечённых в бизнес — Об ошибках и их важности — Какие ошибки на карьерном пути...
Published 05/03/24