Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Параллелизм
Раздел: живой
Исчерпание ресурсов и Динамическая взаимоблокировка
Домашняя страница > Существенные Классы > Параллелизм

Исчерпание ресурсов и Динамическая взаимоблокировка

Исчерпание ресурсов и динамическая взаимоблокировка намного менее распространены проблема чем мертвая блокировка, но являются все еще проблемами, с которыми, вероятно, встретится каждый разработчик параллельного программного обеспечения.

Исчерпание ресурсов

Исчерпание ресурсов описывает ситуацию, где поток неспособен получить регулярный доступ к совместно используемым ресурсам и неспособен сделать успехи. Это происходит, когда совместно используемые ресурсы делаются недоступными в течение многих длительных периодов "жадными" потоками. Например, предположите, что объект обеспечивает синхронизируемый метод, который часто занимает много времени, чтобы возвратиться. Если один поток будет часто вызывать этот метод, то другие потоки, которые также нуждаются в частом синхронизируемом доступе к тому же самому объекту, будут часто блокироваться.

Динамическая взаимоблокировка

Поток часто действует в ответ на действие другого потока. Если действие другого потока является также ответом на действие другого потока, то динамическая взаимоблокировка может закончиться. Как с мертвой блокировкой, livelocked потоки неспособны сделать дальнейшие успехи. Однако, потоки не блокируются — они просто слишком заняты, отвечая друг другу, чтобы возобновить работу. Это сопоставимо с двумя человеками, пытающимися передать друг друга в коридоре: Альфонс перемещается в левую сторону от него, чтобы позволить Гастону передавать, в то время как Гастон перемещается в правую сторону от него, чтобы позволить Альфонсу передавать. Видение, что они все еще блокируют друг друга, Alphone, перемещается в правую сторону от него, в то время как Гастон перемещается в левую сторону от него. Они все еще блокируют друг друга, так...


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Мертвая блокировка
Следующая страница: Защищенные Блоки