import threading, time
class test(threading.Thread):
def __init__(self,name,delay):
threading.Thread.__init__(self)
self.name = name
self.delay = delay
def run(self):
c = 0
while True:
time.sleep(self.delay)
print 'This is thread %s on line %s' %(self.name,c)
c = c + 1
if c == 15:
print 'End of thread %s' % self.name
break
one = test('one', 1).start()
two = test('two', 3).start()
one.join()
two.join()
print 'End of main'
問題:join()メソッドを正しく機能させることができず、次のエラーが発生します。
Traceback (most recent call last)line 29, in <module> join() NameError: name 'join' is not defined
削除した場合:
one.join
two.join
コードは完全に正常に機能します。
最後の行を印刷したかったのですが、
print 'End of main'
2つのスレッドが終了した後。join()が2つのインスタンスの属性ではない理由が理解できないようです。