個人的に作っているツールでスレッド操作が必要になったので練習してみました。え?言語?当然Pythonですが何か?
行いたい処理は
「とあるデータの集まりがあって、それを複数スレッド間で共有しつつ処理を行う」
というもの。今回はリストにデータをつっこんでおいて、それを各スレッド内で一つずつ取り出していきます。
で、コードはこんな感じになりました。これでいいのかなぁ?
最初、worker.start()だけでやったらCtrl-Cを聞いてくれなくて困りました・・・。
結局、Ctrl-Cを押したらWorkerのインスタンス変数”kill”をTrueにし、処理を中断するように修正。他の人もこんな感じでやっているみたい。
ふーむなるほどなるほど。勉強になりました。
コードはGistに置いてありますので、使ってみたい方はどうぞ。
Python スレッドの練習 — Gist