1/25 Thread Library メモ 2

Thread Library

簡単に主なスレッドを集めてみました。

run () オーバーライド(override)は、スーパークラスで定義されたメソッドをサブクラスで定義しなおし、動作を上書きすることである。 このメソッドをオーバーライドして、スレッドの処理を記述します. start メソッドが呼び出され、スレッドの実行が開始されると、まずはじめにこのメソッドが実行関数として設定され、 スレッドが実行されます。

例 override protected function run():void

next(); 現在実行中のスレッドが次に実行する実行関数を設定します. run()メソッドの中に記述する。

start() 複数のスレッドを実行するには、実行したい分だけスレッドのインスタンスを作り、それぞれの start メソッドを呼び出して実行を開始します。 このメソッドが呼び出されると、実行関数はまず run メソッドに設定されます。

sleep(1000); 指定された時間が経過するまでスレッドの実行を中断して待機させます。 次の実行関数の実行が遅延されます。

EnterFrameThreadExecutor「フレーム実行のタイミング (Event.ENTER_FRAME のタイミング)」

IntervalThreadExecutor「指定された時間の間隔のタイミング」

finalize メソッド「終了処理を行うための実行関数」

override protected function finalize():void{ bitmapData.dispose(); // bitmapDateの解放 }

join(); 指定された関数が終わるまで待機する。 (指定された時間が終わるまで待機する場合は、sleep();を利用する。)

event () 指定されたアクションがあれば関数を呼び出す。アクションがあるまでは待機する。 例、event(_stage, MouseEvent.CLICK, click); ステージ上でマウスがクリックされたなら、click関数を呼び出す。

event メソッドによって設定される実行関数は特殊で、通常のイベントハンドラと同様、発生したイベントを引数として取る必要があります。 その他の部分では通常の実行関数と違いは無く、全く同じ振る舞いをします。

Interface IMonitor

notifyAll () notify () wait()で止められている関数を再開させる。 notifyAllこのモニターで待機中のすべてのスレッドを再開します. notify() このモニターで待機中の1つのスレッドを再開します。

あるモニタの wait メソッドを呼び出したスレッドは、そのモニタの「待機セット」と呼ばれる待合室に入り、 待機状態に移行します。そして、別の誰かがそのモニタの notify メソッド を呼び出すと、 待機セットに入っているスレッドのうち、ひとつが取り出され、実行が再開されます。 また、notifyAll メソッドを呼び出すと、待機セットに入っている全てのスレッドの実行が再開されます

割り込み

interrupt();このスレッドに割り込みます. 例、thread.interrupt(); threadに割り込む。

interrupted (関数) 現在実行中のスレッドが待機中に割り込まれた場合に実行する実行関数を設定します. 例、interrupt(nextthread); 割り込まれた場合、nextthreadを実行。

checkInterrupted():現在のスレッドが割り込まれているかどうかを調べます.割り込まれていたらtrueを返します。

エラー

error () 現在実行中のスレッドおよび子スレッドで例外が発生したときに実行関数をしていします。例、error(クラス、function),