1
スレッドクラスを実行すると、それぞれのスレッドが2つのスレッドを開始し、それぞれの目的があり、キューを使用して通信します。これらのスレッドのPythonのオブジェクト内の別のスレッドからのスレッドの開始
一つは、私はこれは悪いデザインかもしれません知っている、いくつかのものを処理するために、より多くのスレッドを生成しますが、彼女は私がスレッドを見つめてみました
class MyThread(Thread):
def __init__(self):
# stuff
Thread.__init__(self)
def run(self):
# some code that start a thread, this one starts fine
# another thread started here and went fine
processing_thread = Thread(target=self.process_files())
processing_thread.daemon = True
processing_thread.start()
# more code
def process_files(self):
while True:
# stuff
self.publish(file)
# stuff
def publish(self, file):
# more code
if (condition):
self.semaphore.acquire(blocking=True)
# HERE IT BREAKS
thread = Thread(target=self.process(), args=(satellite, time,))
thread.daemon = True
thread.start()
def process(self, satellite, time):
#interpreter does not reach here
私のコードです:
args=(satellite, time,)
args=(satellite, time)
args=(self, satellite, time,)
args=(self, satellite, time)
私はいつも、エラーメッセージ、私が行方不明、または引数をこのように渡すことも可能ですしています何TypeError: process() takes exactly 3 arguments (1 given)
を取得しますか?
self.process後に括弧を削除してください:スレッド=スレッド(対象= self.process、引数=(衛星、時間、)) – KulaDamian