我正在尝试为我的应用程序实现线程(使用装饰器),但无法理解关于锁和管理线程的一些事情。
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 不是同步的,而是在锁的帮助下同步实现的那些东西。如何为我的装饰器功能添加锁?
如何实现使用装饰器停止长线程的方法?