主要内容

acquire

获取持久性服务互斥锁的咨询锁

说明

TF = acquire(lk,timeout) 获取一个咨询锁,如果该锁获取成功则返回逻辑值 1 (true),否则返回逻辑值 0 (false)。如果锁不可用,则 acquire 会持续 timeout 秒继续尝试获取它。

示例

示例

全部折叠

首先,创建一个持久性服务控制器对象并使用该对象启动持久性服务。

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

使用连接名称来创建一个持久性服务互斥锁。

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

尝试获取咨询锁。如果锁不可用,请持续 20 秒重新尝试获取。

acquire(lk, 20);
TF =

  logical

   1

输入参数

全部折叠

一个特定于持久性服务的互斥锁对象。如果您使用 Redis™ 作为持久性提供程序,则 lk 将是一个 mps.sync.TimedRedisMutex 对象。如果您使用 MATLAB® 作为持久性提供程序,则 lk 将是一个 mps.sync.TimedMATFileMutex 对象。

重新尝试获取锁之前的等待时长。

示例: 20

输出参量

全部折叠

如果获取咨询锁成功,则 TF 具有逻辑值 1 (true),否则具有逻辑值 0 (false)

版本历史记录

在 R2018b 中推出