Добавить в корзинуПозвонить
Найти в Дзене

Почему зависают программы?

Нет такого человека, который бы никогда не видел зависшей программы. Я помню свой первый ПК с Windows XP, помню как он зависал, и вот у меня уже Windows 11, но с тех пор глобально ничего не поменялось. Казалось бы, железо стало мощнее, вышло множество версий софта, но почему зависания все еще происходят? 💀 Дедлок (Deadlock) - это ситуация, когда два или более потока/процесса заблокированы, ожидая ресурсы, удерживаемые друг другом. Добавлю, что это боль для программистов. 💀 Лавйвлок (Livelock) - потоки активно работают, но не прогрессируют (например, повторяют одни и те же действия в ответ на изменения друг друга). 💀 Голодание (Starvation) - поток не получает доступ к ресурсу из-за высокого приоритета других потоков. 💀 Блокировка ввода-вывода - программа ждёт данные от устройства/сети. 💀 Ошибки синхронизации - неправильные условия ожидания, потерянные wake-up сигналы). 💀 Аппаратные/системные проблемы - например, перегрузка CPU, нехватка памяти. Самая банальная причина, которую мож
Помните зависания в Windows XP?
Помните зависания в Windows XP?

Нет такого человека, который бы никогда не видел зависшей программы. Я помню свой первый ПК с Windows XP, помню как он зависал, и вот у меня уже Windows 11, но с тех пор глобально ничего не поменялось. Казалось бы, железо стало мощнее, вышло множество версий софта, но почему зависания все еще происходят?

💀 Дедлок (Deadlock) - это ситуация, когда два или более потока/процесса заблокированы, ожидая ресурсы, удерживаемые друг другом. Добавлю, что это боль для программистов.

💀 Лавйвлок (Livelock) - потоки активно работают, но не прогрессируют (например, повторяют одни и те же действия в ответ на изменения друг друга).

💀 Голодание (Starvation) - поток не получает доступ к ресурсу из-за высокого приоритета других потоков.

💀 Блокировка ввода-вывода - программа ждёт данные от устройства/сети.

💀 Ошибки синхронизации - неправильные условия ожидания, потерянные wake-up сигналы).

💀 Аппаратные/системные проблемы - например, перегрузка CPU, нехватка памяти. Самая банальная причина, которую можно наблюдать при работе в требовательном к ресурсам софте на более слабом железе.