4551
правка
Irina (обсуждение | вклад) мНет описания правки |
Irina (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
В асинхронной распределенной системе с разделяемой памятью набор из n процессов взаимодействует между собой, обращаясь к общим структурам данных, называемым ''объектами''. Система предоставляет базовые типы общих объектов; другие необходимые типы должны быть построены на их основе. Один из подходов использует блокировки для обеспечения эксклюзивного доступа к базовым объектам, но этот подход не является отказоустойчивым, чреват возникновением взаимоблокировок и «живых» блокировок, а также вызывает задержки, когда | В асинхронной распределенной системе с разделяемой памятью набор из n процессов взаимодействует между собой, обращаясь к общим структурам данных, называемым ''объектами''. Система предоставляет базовые типы общих объектов; другие необходимые типы должны быть построены на их основе. Один из подходов использует блокировки для обеспечения эксклюзивного доступа к базовым объектам, но этот подход не является отказоустойчивым, чреват возникновением взаимоблокировок и «живых» блокировок, а также вызывает задержки в случаях, когда осуществляющий блокировку процесс работает медленно. Алгоритмы без блокировок позволяют избежать этих проблем, но создают новые трудности. Например, если процесс читает два общих объекта, считываемые им значения могут быть несовместимы, если между двумя считываниями объекты были обновлены. | ||
правка