Java!2009-08-23BackgroundWorkerの復習C#以前、.NET上でマルチスレッド処理をしたいときに、さらっと使ったBackgroundWorkerコンポーネントですが、復習の為にちょっと使ってみました。うーん、やっぱりクライアントアプリを作る際にマルチスレッド処理をする場合には有効そうだなぁ。スレッドの開始、終了のAPIのみならず、割り込み系のAPIまできっちりと用意されてるので、このコンポーネント使う分にはマルチスレッドの敷居は大分さがりそう。マルチスレッド自体の危険が大きいので、「敷居を下げた」だけと言えばそうなのかも知れませんが、マルチスレッドに対する敷居が下がったのは良いですね。突っ込んで下さってます。リソースの解放を明示的に行っていない点です。メソッドを明示的に呼び出すか、usingブロックを使用して、リソースを解放する必要があります。上記の問題点については自覚しておりませんでした。ComponentModel系のオブジェクトをデザイナを使わない場合には要注意です...。主な目的は、マルチスレッドの敷居を下げることではなく、ユーザーインターフェイスの応答性を保ちながら、大量のデータ処理をバックグラウンド(別スレッド)で処理させることです。上記についても解釈を間違っていました。私の話した用途でBackgroundWorkerを使用する事もあると思いますが、ComponentModelオブジェクトとして提供している時点で「UIの応答性を保つ」が主なミッションになると考えられます。別途伊藤さんブログの内容を参照して頂けると助かります。