此软件包提供了一个 Swift 分布式锁的实现。 它允许多个进程或服务之间进行协调,以确保对共享资源的独占访问。
此软件包公开了一个单一协议 DistributedLock
,可以由任何分布式锁提供程序实现。 它还提供了两个实现:
LocalDistributedLock
:使用本地锁实现的分布式锁。 这对于本地开发和测试很有用。NoOpDistributedLock
:不执行任何锁定的分布式锁。 这对于本地开发和测试很有用。import DistributedLock
let lock = MyLockImplementation()
try await lock.withLock("my-resource") {
// operations that should be protected by the lock
}
它还为获取锁的等待时间提供日志记录和跟踪支持。