T2Operationを作ってみた

Thousandはあまり高速化とか目指してないのだけど、少しうざったいのがたくさんのログファイルをゴミ箱に捨てる処理。なぜか結構時間がかかる上に、メインスレッド上でループを動かしているのでその間操作が出来なくなる。こういうのはマルチスレッド化して、バックグラウンドでやらせるのがいいよね。でも今後板の修復とかログファイルのインポートとか、時間のかかる処理をマルチスレッド化することを考えると、いろんな処理を簡単に別スレッドで動かせる汎用的な仕組みがあるといい。
と考えていたところ、LeopardのFoundationにはまさにそれ用のNSOperationが鎮座していた。

NSOperationによるバックグラウンド処理
http://objective-audio.jp/2008/04/nsoperation.html

なるほど、こういう抽象クラスがあれば、独自のタスクを実装したサブクラスを作ればいいのか。
ThousandはPanther以降対応のつもりなので、もちろんNSOperationを使うことは出来ない。けど、いろいろ簡略化すれば自分で出来そうなので、ほぼ同じ目的のT2Operationを作ってみた。使い方もほぼ同じだけど、優先度や依存関係の設定は出来ない。当分やることはゴミ出しくらいだしまあいいか。