A system and method for isolating the execution of a plurality of
applications. A plurality of monitors are provided for a plurality of
applications to access a static synchronized method. The applications are
enabled to call the static synchronized method concurrently by accessing
the static synchronized method through the plurality of monitors. A
plurality of threads within one of the applications are excluded from
calling the static synchronized method concurrently. The source code or
bytecode for the synchronized method may be transformed by removing a
method-level monitor and adding the plurality of monitors inside the
method. In one embodiment, each static synchronized method is replaced
with a corresponding static non-synchronized method. The applications may
be further isolated by placing the static fields of shared classes into a
static field class, which has one instance per utilizing application. The
static non-synchronized method includes the body of the corresponding
static synchronized method, wherein the body is synchronized on the
instance of the static field class that corresponds to the utilizing
application.
Een systeem en een methode om de uitvoering van een meerderheid van toepassingen te isoleren. Een meerderheid van monitors wordt voor een meerderheid van toepassingen verstrekt om tot een statische gesynchroniseerde methode toegang te hebben. De toepassingen worden toegelaten om de statische gesynchroniseerde methode gelijktijdig te roepen door de tot statische gesynchroniseerde methode door de meerderheid van monitors toegang te hebben. Een meerderheid van draden binnen één van de toepassingen is uitgesloten van gelijktijdig het roepen van de statische gesynchroniseerde methode. De broncode of bytecode voor de gesynchroniseerde methode kan worden omgezet door een methode-vlakke monitor te verwijderen en de meerderheid van monitors binnen de methode toe te voegen. In één belichaming, wordt elke statische gesynchroniseerde methode vervangen met een overeenkomstige statische niet-gesynchroniseerde methode. De toepassingen kunnen verder worden geïsoleerd door de statische gebieden van gedeelde klassen in een statische gebiedsklasse te plaatsen, die één instantie per het gebruiken van toepassing heeft. De statische niet-gesynchroniseerde methode omvat het lichaam van de overeenkomstige statische gesynchroniseerde methode, waarin het lichaam op de instantie van de statische gebiedsklasse gesynchroniseerd is die aan de gebruikende toepassing beantwoordt.