チェンジセット 636
- コミット日時:
- 2008/06/14 11:08:12 (5 ヶ月前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/Thread/branches/soumen/src/org/libspark/thread/utils/SerialExecutor.as
r535 r636 31 31 32 32 /** 33 * SerialExecutor は複数のスレッドを順番に実行するためのユーティリティクラスです 33 * SerialExecutor は複数のスレッドを順番に実行するためのユーティリティクラスです. 34 34 * 35 * 開始したスレッドの終了を待って次のスレッドを実行し、全てのスレッドの実行が終了するとこのスレッドも終了します 35 * <p>開始したスレッドの終了を待って次のスレッドを実行し、全てのスレッドの実行が終了するとこのスレッドも終了します。</p> 36 * 37 * <p>このスレッドに対して割り込みがかけられた場合、その時点で実行されているスレッドに対して同じように割り込みを掛けた上で 38 * そのスレッドの終了を待ち、それ以降のスレッドの実行をキャンセルします。</p> 39 * 40 * <p>実行中のスレッドで例外が発生した場合、このスレッドは特に何もせず、例外を親に伝播させます。</p> 36 41 * 37 42 * @author yossy:beinteractive … … 41 46 private var _index:uint; 42 47 private var _current:Thread; 48 private var _isInterrupted:Boolean = false; 43 49 44 50 /** … … 54 60 _current.interrupt(); 55 61 } 62 63 // 割り込まれた 64 _isInterrupted = true; 56 65 } 57 66 58 67 /** 59 * 実行68 * @private 60 69 */ 61 70 override protected function run():void … … 70 79 71 80 /** 72 * スレッド実行81 * @private 73 82 */ 74 83 private function runThread():void … … 84 93 // もう実行するスレッドがない場合終了する 85 94 if (_threads.length <= _index) { 95 return; 96 } 97 // もしくは割り込まれた場合は終了する 98 if (_isInterrupted) { 86 99 return; 87 100 }
