1

2 種類のスレッドがあるコードがあります。2 番目から 3 つのスレッドが生成されます。2 番目のタイプの生成された 3 つのスレッドを終了するが、最初のスレッドを実行したままにする、呼び出すことができる関数があるかどうかを知りたかったのです。

4

2 に答える 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 に答える