org.objectweb.perseus.concurrency.pessimistic

Class MutexLock


public final class MutexLock
extends Lock

A lock associated to an oid (see the "locks" map within the pessimistic concurrency manager). Provides a mutex concurrency policy.

Author:
E. Bruneton, P. Dechamboux

Field Summary

protected Object
writer
The contexts that have a lock for the oid to which this object is associated.

Fields inherited from class org.objectweb.perseus.concurrency.pessimistic.Lock

dg, hints, logger, reservations

Constructor Summary

MutexLock()
MutexLock(Object hints, DependencyGraph dg)

Method Summary

boolean
close(Object ctxt)
Removes the given context from the reader and writer lists of this lock.
byte
getMax()
void
readIntention(Object ctxt)
Acquires this lock in read mode for the given context.
void
writeIntention(Object ctxt)
Acquires this lock in write mode for the given context.

Methods inherited from class org.objectweb.perseus.concurrency.pessimistic.Lock

close, getMax, readIntention, reserve, writeIntention

Field Details

writer

protected Object writer
The contexts that have a lock for the oid to which this object is associated.

Constructor Details

MutexLock

public MutexLock()


MutexLock

public MutexLock(Object hints,
                 DependencyGraph dg)

Method Details

close

public boolean close(Object ctxt)
Removes the given context from the reader and writer lists of this lock.
Overrides:
close in interface Lock

Parameters:
ctxt - a context

Returns:
true if the reader and writer list are empty, after the context has been removed from these lists. In such a case, this object can be removed from the 'locks' map.


getMax

public byte getMax()
Overrides:
getMax in interface Lock


readIntention

public void readIntention(Object ctxt)
            throws ConcurrencyException
Acquires this lock in read mode for the given context. This method blocks until the lock can be acquired in read mode by this context.
Overrides:
readIntention in interface Lock

Parameters:
ctxt - a context.


writeIntention

public void writeIntention(Object ctxt)
            throws ConcurrencyException
Acquires this lock in write mode for the given context. This method blocks until the lock can be acquired in write mode by this context.
Overrides:
writeIntention in interface Lock

Parameters:
ctxt - a context.


Copyright © 2000-2002 France Telecom S.A., INRIA, IMAG-LSR All Rights Reserved.