する質問をすることでしか得られない、回答やアドバイスがある。42Djangoであるボタンを押すと内部にスレッドを持つ子スレッドを実行させます。子スレッドが停止しているのにも関わらず孫スレッドが最後まで処理を継続してしまいます。単体で実行したら想定通り子スレッドが停止したら孫スレッドも停止します。th2.stop()attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー0こんにちは。自分もちょうど並行処理調べてたので、何かしらヒントになれば。基本的事項として、オライリーの入門Python3本によるとThreadは強制停止しにくいらしいです。(p335)また、Python公式Documentに記載してある、以下の事を念頭に置いておくと良い感じがします。単体で実行したら想定通り子スレッドが停止したら孫スレッドも停止します。ことですが、以下のコードにすると、引き続き孫Threadが動作していました。stop()が機能していないように思えます。stopで孫threadが止まるはずなのに、実行続く元々のコードでは、main終了時に、デーモンスレッドだけになる=孫threadが停止し、プログラム全体が終了というフローになっていたと考えます。あるというフラグを立てられます。プログラム全体を終了させるという意味があります。フラグの初期値はスレッドを生成したスレッドから継承します。コンストラクタ引数を通して設定できます。BotClass終了まで処理が進んでしまっていたと考えます。対策としては、threadではなくmultiprocessingを使うと良いかもしれません。terminate()関数により強制停止が可能なようです。(あまり知識がないので、もっと良い方法があるかもしれませんが...)(追記)stop()の実装やりたいこととぜんぜん違うかもしれませんが、以下でstop的な動作になりました。threadをkillする手段が無い以上、worker(thread)内部に停止コード仕込むしかない、と考えます。Qiitaでもpythonのthread記事は荒れてました。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。09:10丁寧な回答ありがとうございます!multiprocessingとbreakで抜ける方法両方で試してみます!さらにceleryというものもあるらしいので試してみようと思います。celeryというものもあるらしいので試してみようと思います。daemon関する使い方を教えていい?解決済Pythonのマルチスレッドでjoinでメインスレッドをブロックせずにループさせる。頂いたご意見への回答は行っておりません。