Python 线程 - 让线程启动而不等待前一个线程完成

2024-01-17

我希望所有线程同时启动,但在我的代码中,它会等待前一个线程完成其进程,然后再启动新线程。我希望所有线程并行启动。

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(使用前将#替换为@)

Python 线程 - 让线程启动而不等待前一个线程完成 的相关文章

随机推荐