概要:
単一のスレッドで実行するときに、単一のメソッドを重複して 2 回実行できるかどうかを調べようとしています。または、2 つの異なるメソッドをオーバーラップして実行できる場合、特定の変数へのアクセスを共有すると、望ましくない動作が発生する可能性があります。
単一のメソッドの例:
var ball:Date;
method1 ():Date {
ball = new Date();
<some code here>
return ball;
}
質問:
1) イベント システムを使用して method1 が 20 ミリ秒ごとに起動され、メソッド全体の実行に 20 ミリ秒以上かかる場合、メソッドは重複して再度実行されますか?
2) シングル スレッド環境でメソッドをオーバーラップして実行できるシナリオは他にありますか?それとも、AVM2 は一度に 1 つのメソッドの実行に制限されていますか?
調査: https://www.adobe.com/content/dam/Adobe/en/devnet/actionscript/articles/avm2overview.pdfを読んだところ、AVM2 にはコードを実行するためのスタックがあり、その説明が記載されています。メソッドを使用すると、2 番目のスタックがない場合、スタック システムは一度に 1 つのメソッドしか実行できないように見えます。StackeOverflow の専門家に確認して確認したいと思います。
私は時間に敏感なデータを扱っており、メソッドが別のメソッドによって同時にアクセスされている変数を変更していないことを確認する必要があります。