Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Livelock — это состояние, аналогичное dead-lock, но вместо блокировки потоки постоянно пытаются выполнить работу, отменяя действия друг друга из-за конкуренции за ресурсы, что приводит к их неспособности продвинуться вперед.
Пример livelock: два потока пытаются взять два ресурса A и B. Поток 1:
Поток 2:
В результате потоки могут постоянно освобождать ресурсы и пытаться получить их снова, не достигая цели.
Различия с dead-lock:
Предотвращение:
Пример псевдокода с попыткой livelock:
swift
Livelock — это состояние, аналогичное dead-lock, но вместо блокировки потоки постоянно пытаются выполнить работу, отменяя действия друг друга из-за конкуренции за ресурсы, что приводит к их неспособности продвинуться вперед.
Пример livelock: два потока пытаются взять два ресурса A и B. Поток 1:
Поток 2:
В результате потоки могут постоянно освобождать ресурсы и пытаться получить их снова, не достигая цели.
Различия с dead-lock:
Предотвращение:
Пример псевдокода с попыткой livelock:
swift
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.