基于文件的linux和windows python锁

locket的Python项目详细描述


locket实现了一个可以被多个进程使用的锁,前提是它们使用相同的路径。

importlocket# Wait for lockwithlocket.lock_file("path/to/lock/file"):perform_action()# Raise error if lock cannot be acquired immediatelywithlocket.lock_file("path/to/lock/file",timeout=0):perform_action()# Raise error if lock cannot be acquired after thirty secondswithlocket.lock_file("path/to/lock/file",timeout=30):perform_action()# Without context managers:lock=locket.lock_file("path/to/lock/file")try:lock.acquire()perform_action()finally:lock.release()

锁在很大程度上表现为(不可重入)lock线程中的实例 标准库中的模块。具体来说,他们的行为是:

  • 锁由被锁定的文件唯一标识, 在同一个过程中,在不同的过程中。
  • 锁处于锁定或解锁状态。
  • 当锁被解锁时,调用acquire()将立即返回并更改 锁定状态为锁定。
  • 当锁被锁定时,调用acquire()将被阻塞,直到锁状态 更改为unlocked,或直到超时过期。
  • 如果进程持有锁,则该进程中的任何线程都可以调用 将状态更改为unlocked。
  • 未定义fork之后的锁行为。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
oop Java多态性:如何指示应该使用子类进行比较?   JavaLibGDX:渲染基于可缩放向量的形状的最快方法是什么?   java如何通过可选选项同时检查NPE上对象的字段和条件?如果一切正常,什么都不做,否则抛出异常   java使用camera2获取图像捕获时间   未单击时选中java Recyclerview复选框   java Android Hello world项目未运行   java在网站上发布处理代码?   java如何在jdialog中设置垂直滚动条?   java等待并通知   使用JavaFX在raspberry PI上构建java Maven失败   java处理空值Hazelcast投影   在java中为以下数据选择完美的数据结构   通过ApacheHttpClient将对象的arraylist从Java传递到PHP   使用同步关键字的多线程java等待通知方法   java素数与布尔逻辑   java组织。json。JSONException:JSONArray文本必须以“[”开头