2 種類のスレッドがあるコードがあります。2 番目から 3 つのスレッドが生成されます。2 番目のタイプの生成された 3 つのスレッドを終了するが、最初のスレッドを実行したままにする、呼び出すことができる関数があるかどうかを知りたかったのです。
2 に答える
2
一般的な解決策は、スレッドが終了する必要があるかどうかをチェックするグローバル変数を用意することです。
編集:それを行う1つの方法の例:
class MyThread(Thread):
def __init__(self):
self.keep_running = True
def run(self):
while self.keep_running:
# Do stuff
my_thread = MyThread()
my_thread.start()
# Do some other stuff
my_thread.keep_running = False
my_thread.join()
于 2012-08-27T12:46:14.380 に答える
1
スレッドの種類ごとにスレッド プールを保持し、それに応じてスレッドを終了できます。たとえば、それらをQueue.Queue
グローバルに保持し、.stop()
必要に応じてそれぞれを保持できます。
編集//停止したいすべての子スレッドをその親に結合できます.join()
于 2012-08-27T12:59:43.457 に答える