在乞讨时我写了非常一般的主题,即使我知道线程和过程,但我不知道哪一个对我的情况更好。
好的,所以..代码:
class Proces(object):
[...]
def Obsluz(self):
proces = LRU(self.sekwencja, int(self.przydzielone_ramki))
proces.Symulacja("T")
#.thread.join()
def Threads(self):
thread = Thread(target = self.Obsluz)
thread.start()
thread.join()
并运行该代码:
for lru in self.lru_procesy:
lru.Watek()
我想要实现的是同时运行Obsluz方法多次使用不同的params(从Proces.attributes获取)。它是随机数,有多少是过程对象。它可以是10/20/30等。
上面的代码没有像我想的那样运行,因为每个线程都是逐个结束的(因为.join())。是否可以同时运行这些?
谢谢你!答案 0 :(得分:2)
你刚刚开始一个工人,并立即等待它完成。
要生成多个工作线程并等待它们全部完成使用这样的事情:
workers = []
for wid in range(nworkers):
w = Thread(target = dowork, args = ...)
w.start()
workers.append(w)
# join all of the workers
for w in workers: w.join()
print "All done!"