Python:使用threadpool模块多线程写同一个文件的时,需要加锁吗?

代码如下:

def print_result(request,result):
    if result["success"] == True:
        write_file(filename,content)
    else:
        pass

def multi_exec(targets,thread_num):
    pool = threadpool.ThreadPool(thread_num)
    args = [target for target in targets]
    reqs = threadpool.makeRequests(fun,args,print_result)
    [pool.putRequest(req) for req in reqs]
    pool.wait()

在打印结果的函数:print_result中,需要将结果保存到文件中,请问,这里是否需要加锁操作?

阅读 7.8k
1 个回答

你的 write_file 的实现在哪里呢?

你的 filename 是从哪里来的?如果是写到同一文件的话,需要加锁的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题