超级简单的基于文件的锁定
ezlock的Python项目详细描述
ezlock
超级简单的基于文件的锁定:
# first.py
from ezlock import Lock
import time
with Lock():
print("I got the lock and I'm keeping it for 20s")
time.sleep(20)
以及
# second.py
...
with Lock():
print("Trying to get a lock too")
运行
>>> python3 first.py &
I got the lock and I'm keeping it for 20s
>>> echo "before 20s"
before 20s
>>> python3 second.py
locking.LockError: Attempted to acquire on already locked lock!
锁定文件有所有者。锁可以检查它是否拥有一个带有lock.mine
的文件。Lock
s只有在强制的情况下才会释放一个不是他们的锁,即lock.release(force=True)
。
您可以使用Lock.wait()