局部互斥

local_mutex的Python项目详细描述


#local_mutex
本地锁,通过fcntl针对文件加锁实现的. 需要强烈注意的是,多线程下是无效的,原因? [查看链接](http://xiaorui.cc)

#Usage:

最简单的例子,适合一个程序同时跑一个的场景.
```
import sys
from local_mutex import LocalMutex

try:
lock = LocalMutex('app.lock')
except LockError:
sys.exit('already running')

try:
print 'doing'
finally:
lock.release()
```

使用wait参数不停的试图获取Lock, 直到获取锁.
```
lock = LocalMutex('/var/run/app.lock', wait = True)
try:
print 'doing'
finally:
lock.release()
```

使用with关键词
```
with LocalMutex('app.lock', wait = True):
print 'doing'
```

如果是多线程环境,直接用threading的Lock
```
import threading
lock = threading.Lock()
with lock:
pass
```

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

推荐PyPI第三方库


热门话题
迭代值时的java HashMap线程安全性   java Android:从sqlite数据库检索数据   java OpeNni:颜色坐标到深度坐标   替换Java将所有逗号替换为分号,引号内的逗号除外   java如何获取数据库中的图像,并将其设置为特定行的表的“tooltipText()   java如何使用“没有休息吗?   java Spring引导与Gradle版本的Gradle问题   java无法更新oracle中的clob字段   用Java创建一个简单的银行账户   java openfire服务器是否实现了地雷功能?   java Android获取支持的区域设置列表   用sqlite安卓实现java简单数学计算   JavaAEMServlet获取请求头值   在java中生成随机16位数字   有类似dotnetkicks的东西吗。com for Java   xml@xmlanyement不会解组为特定的Java类型,而是在JAXBElement处停止   尝试反序列化对象时发生java错误   java如何将JSON对象从POSTMAN发送到Restful Web服务   com的java性能。太阳网httpserver。HttpServer和HttpURLConnection?