All Packages  This Package  Class Hierarchy  Class Search  Index

Class com.hermetica.util3d.CriticalSection
java.lang.Object
   |
   +----com.hermetica.util3d.CriticalSection

  Summary

public class  CriticalSection
     extends java.lang.Object
{
          // Constructors 5
     public CriticalSection();
     public CriticalSection(boolean);
     public CriticalSection(String);
     public CriticalSection(String, boolean);
     public CriticalSection(String, boolean, PrintStream);

          // Methods 7
     public String getName();
     public boolean getTraceStatus();
     public synchronized void lock();
     public void setName(String);
     public void setOutputStream(PrintStream);
     public void setTraceStatus(boolean);
     public synchronized void unlock();
}

This class acts as a sort of mutex that provides exclusive access to ``critical sections'' of code. You can acquire ( or attempt to acquire ) a lock via the ``lock'' method. Similarly, ``unlock'' will release the lock for other waiters to fight for!

This code is based on an original by Jason Osgood who similarly was inspired by Doug Lea's ``Concurrent Programming in Java''.

Version:
$Revision: 1.4 $
Author:
Alligator Descartes <descarte@arcana.co.uk>


  Cross Reference

Returned By:
GLComponent.getChoke()





  Constructors

· CriticalSection

Summary  |  Top
   public CriticalSection() 

Create a new anonymous lock object



· CriticalSection

Summary  |  Top
   public CriticalSection(String name) 

Create a new lock object with the specified name



· CriticalSection

Summary  |  Top
   public CriticalSection(boolean mode) 

Create a new anonymous lock object with the specified tracing mode



· CriticalSection

Summary  |  Top
   public CriticalSection(String name, 
                          boolean mode) 

Create a new named lock object with the specified name and tracing mode



· CriticalSection

Summary  |  Top
   public CriticalSection(String name, 
                          boolean mode, 
                          PrintStream oStream) 

Create a new named lock with the given tracing mode and the given output stream for the trace output



  Methods

· setTraceStatus

Summary  |  Top
   public void setTraceStatus(boolean mode) 

Sets the tracing level of this lock



· getTraceStatus

Summary  |  Top
   public boolean getTraceStatus() 

Returns the tracing level of the lock



· setName

Summary  |  Top
   public void setName(String name) 

Sets the name of the lock



· getName

Summary  |  Top
   public String getName() 

Returns the name of the lock



· setOutputStream

Summary  |  Top
   public void setOutputStream(PrintStream oStream) 

Sets the output stream for the trace output



· lock

Summary  |  Top
   public synchronized void lock() 

Begins a critical section of code



· unlock

Summary  |  Top
   public synchronized void unlock() 

Ends a critical section of code



All Packages  This Package  Class Hierarchy  Class Search  Index
Freshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7