在我的项目中,我有一类线程。像这样:
class MakeHtml(threading.Thread):
def __init__(self, *rstext):
self.outhtml = [x for x in rstext]
self.retval = ''
threading.Thread.__init__(self)
def run(self):
...do something
在我调用的另一个文件中,每10秒MakeHtml类
t = MakeHtml(mrr1, mrr2, mrr3, mrr4)
用于创建一个线程但是这样我每次都看到线程是相同的。
每次调用MakeHtml Threading类时我都需要一个新线程,我该怎么做?
提前致谢
答案 0 :(得分:1)
MakeHtml扩展了Thread,但是如果你只有一个MakeHtml实例,那么你将只有一个线程
例如,如果您需要2个不同的线程,则必须执行
t = MakeHtml(mrr1, mrr2, mrr3, mrr4) # one thread
t1 = MakeHtml(mrr1, mrr2, mrr3, mrr4) # another one
您可以使用:
import threading
def afunction(mm):
# do job
pass
threads = []
for mm in [mmr1, mmr2, mmr3n mmr4]:
t = threading.Thread(target=afunction, args=[mm,])
threads.append(t)
t.start()
[t.join() for t in threads]