我希望所有线程同时启动,但在我的代码中,它会等待前一个线程完成其进程,然后再启动新线程。我希望所有线程并行启动。
My Code:
class Main(object):
start = True
config = True
givenName = True
def obscure(self, i):
i = i
while self.start:
Config.userInfo(i)
break
while self.config:
Config.open()
break
while self.givenName:
Browser.openSession()
break
Main = Main()
while __name__=='__main__':
Config.userInfo()
Config.open()
for i in range(len(Config.names)):
Task = Thread(target=Main.obscure(i))
Task.start()
break
这一行是主要问题:
Task = Thread(target=Main.obscure(i))
target
通过了结果calling Main.obscure(i)
, not要在线程中运行的函数。您当前正在主线程中运行该函数,然后传递,本质上,target=None
.
你要:
Task = Thread(target=Main.obscure, args=(i,))
Then, Thread
会安排打电话Main.obscure
与线程内列出的参数。
Also, Main = Main()
覆盖class Main
使用 Main 实例进行声明...但是您将永远无法创建另一个实例,因为您已经丢失了对该类的引用。使用其他名称,例如main = Main()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)