Многопоточность: неопределённость, дедлоки, лайвлоки, callback hell и другие ужастики
2026-02-21 17:53 Diff

#Подкаст

  • 28 сен 2023
  • 0

Подкаст «Люди и код», выпуск № 88: Алексей Ушаровский.

Иллюстрация: Polina Vari для Skillbox Media

Пишет об истории IT, разработке и советской кибернетике. Знает Python, JavaScript и немного C++, но предпочитает писать на русском.

У нашего подкаста появился отдельный телеграм-канал. Подписывайтесь, чтобы не пропустить новые выпуски, голосовать за новые темы, предлагать гостей и присылать свои вопросы для следующих выпусков.

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 здорового человека».
  • Зависит ли работа с многопоточностью от аппаратной платформы и операционной системы.
  • Как реализована работа с многопоточностью в разных языках программирования.
  • Какие концепции, связанные с многопоточностью сейчас активно обсуждаются и внедряются.
Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу