filelock对文件加锁
- 需求:给文件加锁,防止多进程同时操作统一文件。
- 方法:python中的fcntl模块
import os
import time
from multiprocessing import Pool
import fcntl
def demo(i):
f = open('demo.txt', 'a')
fcntl.flock(f, fcntl.LOCK_EX)
print('{} process get lock'.format(os.getpid()))
time.sleep(1)
f.write('{} process write content\n'.format(i))
fcntl.flock(f, fcntl.LOCK_UN)
print('{} process free lock\n'.format(os.getpid()))
if __name__ == '__main__':
p = Pool(10)
for i in range(10):
p1 = p.apply_async(demo, args=(i,))
p.close()
p.join()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步