[英]thread Lock on Custom Thread 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
你混合了制表符和空格。 run
大部分定义实际上嵌套在__init__
内部,而self.lock.release()
实际上在run
外部和__init__
内部。 您的线程最终会尝试在创建线程时释放未锁定的锁。
不要混用制表符和空格。 坚持空间。 在您的编辑器中打开“显示空白”以使问题更明显,如果您的编辑器不能这样做,请使用更好的编辑器。 使用-tt
标志运行 Python 也有助于捕获这些错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.