-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:'で置き換えることができます。ブロックの下に字下げされたものはすべて実行され、ロックが獲得され、ブロックが終了すると解放されます。 –