【发布时间】:2021-11-22 11:00:13
【问题描述】:
我有一个简单的 for 循环扫描文档,我希望它在继续执行主 for 循环的同时启动第二个进程
def main():
combatDelta = datetime.timedelta(0, 5, 0 , 0)
combatlog = []
othercombats = []
times = []
with open(path, "r") as file:
firstCombat = True
counter = 0
combatstart = None
lastTime = None
betweencombatDetla = None
start = timer.time()
for line in file:
temp2 = line
temp2 = temp2.split("::")
temp = temp2[0]
temp = temp.split(":")
time = datetime.datetime(2000 + int(temp[0]), int(temp[1]), int(temp[2]), int(temp[3]), int(temp[4]),
int(temp[5][0] + temp[5][1]), int(temp[5][3]) * 100000)
if counter == 0:
combatstart = time
lastTime = time
else:
betweencombatDetla = time - lastTime
lastTime = time
if betweencombatDetla > combatDelta:
print("next combat")
if firstCombat:
p = Process(target=combatAnalyis())
p.start()
firstCombat = False
combattime = time - combatstart
if firstCombat:
combatlog.append(line)
else:
othercombats.append(line)
print(len(combatlog))
print(len(othercombats))
counter += 1
(对不起,如果代码有点乱) (目的是在继续for循环的同时执行“combatAnalysis”函数,目前这个函数只是一个for循环打印数字作为占位符以表明多处理正在工作) 根据我尝试实现的文档,但它现在首先执行第二个函数,同时不继续 for 循环
【问题讨论】:
标签: python python-3.x python-multiprocessing