javax.realtime
Class CTPrivateMemory

java.lang.Object
  extended byjavax.realtime.MemoryArea
      extended byjavax.realtime.ScopedMemory
          extended byjavax.realtime.PrivateScopedMemory
              extended byjavax.realtime.CTPrivateMemory

public class CTPrivateMemory
extends PrivateScopedMemory

The CTPrivateMemory provides constant time allocation time. This type of scoped memory allows only one thread at the time to be within it. Thus it can be considered as a thread private memory. If more than one thread try to access it at the same time a run-time exception is thrown.

Author:
Angelo Corsaro

Field Summary
 
Fields inherited from class javax.realtime.PrivateScopedMemory
owner
 
Fields inherited from class javax.realtime.ScopedMemory
joinSynchronizer
 
Fields inherited from class javax.realtime.MemoryArea
logic, parent, sizeInBytes
 
Constructor Summary
CTPrivateMemory(long size)
          Creates a new CTPrivateMemory instance.
CTPrivateMemory(long minSize, long maxSize)
          Creates a new CTPrivateMemory instance.
CTPrivateMemory(long size, Runnable logic)
          Creates a new CTPrivateMemory instance.
CTPrivateMemory(SizeEstimator size)
          Creates a new CTPrivateMemory instance.
CTPrivateMemory(SizeEstimator size, Runnable logic)
          Creates a new CTPrivateMemory instance.
 
Method Summary
protected  void fini()
           
protected  void init()
           
 long memoryConsumed()
          An exact count, in bytes, of the all of the memory currently used by the system for the allocated objects.
 long memoryRemaining()
          An approximation to the total amount of memory currently available for future allocated objects, measured in bytes.
 
Methods inherited from class javax.realtime.PrivateScopedMemory
enter, join, join, joinAndEnter, joinAndEnter, joinAndEnter, joinAndEnter, resetOwner, setOwner, toString
 
Methods inherited from class javax.realtime.ScopedMemory
getMaximumSize, getPortal, getReferenceCount, setPortal
 
Methods inherited from class javax.realtime.MemoryArea
enter, executeInArea, finalize, getMemoryArea, guardedRun, newArray, newInstance, newInstance, size
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CTPrivateMemory

public CTPrivateMemory(long minSize,
                       long maxSize)
Creates a new CTPrivateMemory instance.

Parameters:
minSize - a long value representing the minimum size for this memory.
maxSize - a long value representing the max size for this memory area.

CTPrivateMemory

public CTPrivateMemory(long size)
Creates a new CTPrivateMemory instance.

Parameters:
size - The size of MemoryArea to allocate, in bytes. If size is less than or equal to zero an IllegalArgumentException is thrown.

CTPrivateMemory

public CTPrivateMemory(long size,
                       Runnable logic)
Creates a new CTPrivateMemory instance.

Parameters:
size - The size of MemoryArea to allocate, in bytes. If size is less than or equal to zero an IllegalArgumentException is thrown.
logic - -The java.lang.Runnable whose run() method is invoked when any of the variations of enter() which do not take a java.lang.Runnable is called.

CTPrivateMemory

public CTPrivateMemory(SizeEstimator size)
Creates a new CTPrivateMemory instance.

Parameters:
size - A SizeEstimator object which indicates the amount of memory required by this MemoryArea.

CTPrivateMemory

public CTPrivateMemory(SizeEstimator size,
                       Runnable logic)
Creates a new CTPrivateMemory instance.

Parameters:
size - The size of MemoryArea to allocate, in bytes.
logic - The run() method of this object will be called whenever enter() called.
Method Detail

memoryConsumed

public long memoryConsumed()
An exact count, in bytes, of the all of the memory currently used by the system for the allocated objects.

Specified by:
memoryConsumed in class MemoryArea
Returns:
The amount of memory consumed in bytes.

memoryRemaining

public long memoryRemaining()
An approximation to the total amount of memory currently available for future allocated objects, measured in bytes.

Specified by:
memoryRemaining in class MemoryArea
Returns:
The amount of remaining memory in bytes.

init

protected void init()
Specified by:
init in class MemoryArea

fini

protected void fini()
Specified by:
fini in class MemoryArea


jRate is developed and maintained by the jRate project development team.
Copyright (c) 2001-2005 Angelo Corsaro and Morgan Deters.