2

一段时间以来,我一直在学习使用 Python 进行编程,而我目前的项目是一个下载管理器,它的 GUI 是用 wxPython 编写的。我有 DownloadThreads,继承自 threading.Thread,我实例化了不同数量的:

for i in xrange(self.thread_count):
    DownloadThread(self.queue, self.status, self.save_dir, i).start()

因为我要创建的线程数量不固定,所以我无法将DownloadThread对象分配给变量,所以我看不到如何访问它们的方法,例如x.isAlive(). 我考虑过动态创建变量,但这似乎是一个非常糟糕的主意。我将如何访问这些“匿名”对象(术语?),或者我是不是走错了路?感谢您的阅读,如果这真的很简单/显而易见,我们深表歉意。

4

1 回答 1

3

最简单的方法是将所有线程保存在一个列表中:

self.threads = []
for i in xrange(self.thread_count):
    self.threads.append(DownloadThread(self.queue, self.status, self.save_dir, i))
    self.threads[i].start()
于 2012-04-04T10:49:28.223 回答