【发布时间】:2017-11-24 23:20:00
【问题描述】:
我希望我的所有线程同时启动,但在我的代码中,它会等待前一个线程完成它的进程,然后再启动一个新线程。我希望所有线程并行启动。
我的代码:
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
【问题讨论】:
-
它不应该等待,因为您没有在任何地方使用 join。你的其他代码是什么?
-
你认为它为什么在等待?
-
@wwii 因为当我收到我的代码结尾(打开网络浏览器)时,下一个线程开始它的开始进程(打印一些代码)
-
@atru 我刚刚用我的完整文件编辑了帖子
-
请记住,多线程不是多处理。 Python 一次只会运行一个线程,即使许多线程可能同时处于“活动”状态。其他一些注意事项:在您有
while语句的任何地方,都可以将其替换为if并删除break语句。i = i语句没有作用,可以去掉。
标签: python multithreading python-2.7