0

アプリケーションがあり、複数のユーザーが同時に使用しています。数値形式などの一般的な関数を使用したかった

  public class CustomFormat
  {
     public static function funt(val:int,prec:int):int
     {
        // return val with formatting along with prec
     }
  }

static関数はインスタンスではなくクラスに関連付けられているためです。

ここで、2 人のユーザーがそれを呼び出し、CustomFormat.funt(2,2);同時にCustomFormat.funt(3,3);これがどのように動作するかを想定します。私は結果の問題があるかもしれないと思います。まだ試してみるために、これを実装していないので、提案があります。これに問題がある場合は、リクエストごとにオブジェクトを作成する必要があります。

ありがとう

4

1 に答える 1

3

あなたは、swf ベースのアプリケーションとは何かについて誤解しています。

アプリをロードするすべてのユーザーは、アプリの一意のインスタンスを持ちます。これは、ユーザーのブラウザー内で実行されるクライアントアプリです。静的関数はそのように実行されていないため (つまり、サーバー内で)、複数のユーザーが同時に静的関数にアクセスすることはできません。

また、アプリがシングル スレッドであること ( AS3 Workersを使用していないこと) を考慮すると、静的関数への各呼び出しは順番に実行されます。

それ以外の場合は、静的関数を共有リソースと見なす必要があるため、正しいアクセスを保証するために並行メカニズムを実装する必要があります。

于 2012-11-08T08:50:18.650 に答える