exponenta event banner

mps.sync.mutex

Создать мьютекс службы персистентности

Описание

пример

lk = mps.sync.mutex(mutexName,'Connection',connectionName,Name,Value) создает объект advisory lock базы данных.

Примеры

свернуть все

Сначала создайте объект контроллера службы персистентности и используйте его для запуска службы персистентности.

ctrl = mps.cache.control('myRedisConnection','Redis','Port',4519);
start(ctrl)

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

lk = mps.sync.mutex('myMutex','Connection','myRedisConnection')
lk = 

  TimedRedisMutex with properties:

        Expiration: 10
    ConnectionName: 'myRedisConnection'
         MutexName: 'myMutex'

Входные аргументы

свернуть все

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

Пример: 'myMutex'

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

Пример: 'Connection','myRedisConnection'

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Expiration', 10

Срок действия в секундах после получения блокировки.

Другие клиенты смогут получить блокировку, даже если вы ее не освободите.

Пример: 'Expiration', 10

Выходные аргументы

свернуть все

Объект мьютекса службы персистентности. Если вы используете Redis™ в качестве поставщика персистентности, lk будет mps.sync.TimedRedisMutex объект. Если вы используете MATLAB ® в качестве поставщика стойкости ,lk будет mps.sync.TimedMATFileMutex объект.

Совет

  • Мьютекс службы персистентности позволяет нескольким клиентам по очереди использовать общий ресурс. Каждый взаимодействующий клиент создает объект-мьютекс с тем же именем, используя подключение к общей службе сохранения. Чтобы получить монопольный доступ к общему ресурсу, клиент пытается получить блокировку на мьютексе. Когда клиент завершает работу с общим ресурсом, он снимает блокировку. Чтобы предотвратить блокировки в случае сбоя клиента блокировки, срок действия всех блокировок истекает через определенное время.

  • Получение блокировки на мьютексе предотвращает получение блокировки на этом мьютексе другими клиентами, но не блокирует службу сохранения или какие-либо ключи или значения, сохраненные в службе сохранения. Эти блокировки являются только консультативными и предназначены для использования сотрудничающими клиентами с целью предотвращения повреждения данных. Клиенты-изгои смогут повреждать или удалять данные, если они добровольно не будут уважать блокировки мьютекса.

Представлен в R2018b