我目前正在编写一个程序,它循环遍历卡号列表,然后用这些卡号调用函数。我编写了一些基本的python线程代码,循环遍历从cards.txt文件获得的列表,然后生成了用户定义数量的线程。然而,这是我不喜欢的行为,因为它只是产生具有相同卡号的线程。我可以理解为什么会发生这种情况,因为for循环位于卡循环的下面,导致它接受相同的卡号。然而,我不知道如何解决这个问题。我查看了线程池,但这仍然不能解决我的问题,因为for循环仍然是嵌套的。这里是一些相关的代码,非常感谢您的帮助
for card in cards:
threads = []
card = card.strip()
for i in range(threads2):
x = threading.Thread(target=exampleFunct, args=(card,))
threads.append(x)
x.start()
for thread in threads:
thread.join()
我再一次明白了为什么在for card in cards:
内部运行for循环会产生这种行为,但我看不到出路。非常感谢您的帮助
你是对的,这是线程的顺序。一种选择是提前生成所有线程,然后使用队列或类似的方法发送它们工作。大概是这样的:
我看不出问题出在哪里,但我想知道你是否可以再解释一下你想要实现的目标。我做了一些代码,可以独立运行,也许这会有所帮助
输出在下面,它确实在卡号之间循环
相关问题 更多 >
编程相关推荐