问题遇到的现象和发生背景
想使用多线程优化批量excel比对,多个线程同时进行多个Excel比对,每个excle比对耗时远大于单线程处理
用代码块功能插入代码,请勿粘贴截图
child_thread_compare是对比业务,若我限制子线程数为1,效率和单线程耗时一致
2022-09-27_15:31:22 2022-09-27_15:43:47 多线程(10个) 13.5分钟
2022-09-27_16:03:11 2022-09-27_16:14:24 多线程(3个) 11分钟
2022-09-27_15:45:05 2022-09-27_15:55:35 单线程 10.5分钟
单线程或子线程为1时,10M的excle比对耗时2分钟;子线程为10时,10M的excle比对耗时11分钟
t = threading.Thread(target=self.child_thread_compare,
args=(same_file_name, old_file_name, new_file_name, result_file_name, name, file1_name, file2_name)) # 另启一个线程比对
self.running_thread_name.append(same_file_name)
t.start()
运行结果及报错内容
多线程(10个) :文件[\20090111\tstockinfo]对比结果[失败],耗时[00:11:51]
单线程:文件[\tstockinfo]对比结果[成功],耗时[00:01:39]