Python创建多线程和创建处理tim

2024-09-28 16:47:07 发布

您现在位置:Python中文网/ 问答频道 /正文

运行代码时出错: “线程只能启动一次”

这和我的for I in range(10)有关

我在启动线程后立即终止线程,因此理论上所有线程都应该在返回下一个循环以创建另一组线程之前被杀死。在

我要做的是获得运行线程所需的时间

def __startThreads__(self):
        print("How Many =", self.howMany)
        start1 = time()
        for i in range(10):
            start2 = time()
            for i in range(self.howMany):
                self.threads.append( ThreadEntity( str(i), iAmTheProgramCode ) )
            for each in self.threads: 
                each.start()
            for each in self.threads:
                each.killThreadEntity()
            stop2 = time()
            threadtime = stop2 - start2
            print(threadtime)
        stop1 = time()
        threadTotalTime = stop1 - start1
        print(threadTotalTime)

Tags: inselffortimerange线程eachprint
1条回答
网友
1楼 · 发布于 2024-09-28 16:47:07

你不能在你杀死一个线程之后再启动它。在

迭代self.threads10次(for i in range(10))。 在每一次迭代中,你启动它中的所有线程(并附加一些新的线程,但你也要迭代先前被杀死的线程)。在

我认为你要做的是在每次迭代之前清空线程列表。在

尝试在for i in range(10)后添加下一行:

self.threads = []

相关问题 更多 >