アプリケーションに (デコレータを使用して) スレッド化を実装しようとしていますが、ロックとスレッドの管理に関するいくつかのことを理解できません。
import threading
def run_in_thread(fn):
def run(*k, **kw):
t = threading.Thread(target=fn, args=k, kwargs=kw)
t.start()
return run
class A:
@run_in_thread
def method1(self):
for x in range(10000):
print x
@run_in_thread
def method2(self):
for y in list('wlkefjwfejwiefwhfwfkjshkjadgfjhkewgfjwjefjwe'):
print y
def stop_thread(self):
pass
c = A()
c.method1()
c.method2()
私が理解しているように、method1とmethod2は同期されていませんが、ロックの助けを借りて実装されているものの同期です。デコレータ関数にロックを追加するにはどうすればよいですか?
デコレータを使用して長いスレッドを停止する方法を実現するにはどうすればよいですか?