はじめに 最近、Pythonで並列処理させるthreadingを使う機会があった。 ハードのI/O待ちが発生する組み込み開発において活躍してくれた。 この機会にthreadingを完全に理解したという状態にしておきたい。 自分がよく使いそうなケース別にサンプルを書いてみた。 正確な理解には公式ドキュメントを。 今回のサンプルは、GitHubに全部まとめてUPしている。 記事の章立てと番号は合わせている。 事例 Case01 メインスレッドの終了と同時に、生成したスレッドを終了させたい →threading.Thread(daemon=True) python main.py-> ctrl+Cしても終了できないゾンビスレッドの生成を抑制できる。 ちゃんとスレッドの終了をコントロールしたい場合はthreading.Event()が公式的に推奨。 import threading import