我有2个简单的功能:
def run(self):
# Make 20 instances of clients and start those
for i in xrange(0,20):
t = threading.Thread(target = self.run_clients_in_seperate_threads())
t.start()
和
def run_clients_in_seperate_threads(self):
print 'inside run_clients_in_seperate_threads'
client_id = self.generate_client_id()
cl = Client(client_id)
cl.start()
在这里,最后一行:cl.start()
是无限循环。
我以为启动子线程后主线程将变为空闲,因此将产生总共20个线程。但是似乎主线程在启动第一个线程之后等待。
有人可以解释我在做什么错吗?
使用target = self.run_clients_in_seperate_threads
并传递self
给args
参数。这样做的方式是在主线程中调用该方法,并在那里出现无限循环:self.run_clients_in_seperate_threads != self.run_clients_in_seperate_threads()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句