久しぶりにマルチスレッドWinアプリを書きました。
しばらくC++から離れていたので、頭ではわかっていても苦労しました。
同期とかはなんにも苦労しないんですが、終了時の処理が一番難しいですねぇ。
よほどの理由がない限りマルチスレッドにはしませんが、どうしてもブロックする処理がある場合は仕方がありません。
ただ、利用者はスレッドの状態とは関係なく「×」ボタンをクリックして平気で終了を要求してきます。
それを安全に終了させるのは結構難しいです。しかも反応よく・・・
プログラム側で処理をしているときにユーザーの要求を反応よく処理するのだけでも苦労する話ですが、
そこにスレッドが入るとねぇ。
ソフト開発って難しいと思い返す一日でした。