flock对象使用fcntl.flock来锁定(resp.解锁)文件描述符(fd),输入时使用操作(op)(resp.离开)与之相关的运行时上下文。
flock的Python项目详细描述
羊群(fd,op)
flock对象使用fcntl.flock锁定(分别解锁) 文件描述符(fd)和操作(op) 进入时(分别离开)与之相关的运行时上下文。
提供fileno()方法的文件对象也被接受。
操作是下列值之一:
- LOCK_SH - acquire a shared lock
- LOCK_EX - acquire an exclusive lock
操作也可以用lock\u nb按位或 以避免在获取锁时阻塞。
示例:
- with open(‘/tmp/file.lock’, ‘w’) as f:
blocking_lock = flock.Flock(f, flock.LOCK_EX) noblocking_lock = flock.Flock(f, flock.LOCK_EX|flock.LOCK_NB)
- with blocking_lock:
- pass # do something here
- try:
- with noblocking_lock:
- pass # do something else here
- except BlockingIOError:
- pass