-1
有人能告诉我在哪里可以把锁定在python自定义线程内?线程在自定义线程上锁定python
import threading
lock = threading.Lock()
class WorkerThread(threading.Thread):
def __init__(self,lock):
super(WorkerThread,self).__init__()
self.lock = lock
def run(self):
self.lock.acquire()
print "Hello World"
self.lock.release()
worker = WorkerThread(lock)
错误回溯:
Traceback (most recent call last):
File "<buffer>", line 14, in <module>
File "<buffer>", line 11, in __init__
AssertionError: release() of un-acquire()d lock
你可以让你的生活使用锁作为一个上下文管理器触摸更容易(和安全一般情况下)。你可以用'with self.lock:'替换acquire和release,并且在获取锁的同时运行该块下面的所有内容,并在块结束时释放它。 –