An object-based multi-threaded computing system has a cyclic garbage
collection strategy and includes an object locking system having (i) a
first mode in which access by a single thread without contention to an
object is controlled by a monitor internal to said object, and (ii) a
second mode in which access by multiple threads with contention to said
object is controlled by a monitor external to said object. For any given
object a transition from the first mode to the second mode is termed
inflation, and a transition from the second mode to the first mode is
termed deflation. Responsive to the start of a period of contention for an
object in said first mode, the object is inflated to the second mode, and
an inflation rate counter is incremented. After the period of contention
has concluded the value of the inflation rate counter is compared against
a predetermined value in order to determine whether or not to deflate the
object. The inflation rate counter is reset at every garbage collection
cycle.
Een op voorwerp-gebaseerd multi-threaded gegevensverwerkingssysteem heeft een cyclische strategie van de huisvuilinzameling en omvat een objecten sluitensysteem dat (i) een eerste wijze waarop de toegang door één enkele draad zonder geschil aan een voorwerp door een monitor intern aan bovengenoemd voorwerp wordt gecontroleerd heeft, en (ii) een tweede wijze waarop de toegang door veelvoudige draden met geschil aan bovengenoemd voorwerp door een monitor extern aan bovengenoemd voorwerp wordt gecontroleerd. Voor om het even welk bepaald voorwerp wordt een overgang van de eerste wijze naar de tweede wijze genoemd inflatie, en een overgang van de tweede wijze naar de eerste wijze wordt genoemd deflatie. Ontvankelijk voor het begin van een periode van geschil voor een voorwerp op bovengenoemde eerste wijze, is het voorwerp opgeblazen aan de tweede wijze, en een inflatiecijferteller wordt verhoogd. Na de periode van geschil heeft besloten de waarde van de inflatiecijferteller tegen een vooraf bepaalde waarde wordt vergeleken bepalen om al dan niet om het voorwerp te laten leeglopen. De inflatiecijferteller wordt teruggesteld bij elke cyclus van de huisvuilinzameling.