模块概述
代码来源
模块目的
lockfile通过LockFile类,简单地实现了“文件锁”功能。
模块结构
__init__.py
linklockfile.py
mkdirlockfile.py
pidlockfile.py
sqlitelockfile.py
symlinklockfile.py
__init__.py
- 初始化
LockBase
LockBase类
会生成 标志文件,基于4点为唯一标志。- path的绝对路径
- 进程的pid
- 套接字的host,即本机host
- 线程标识符
源码分析
linklockfile.py
LockBase类
的path
就会生成对应的path.lock文件
,该.lock文件
既是是否上锁的标志。is_locked()
:path.lock文件
存在,即是True(上锁)。i_am_locking()
:判断path.lock文件
是否属于标志文件。