Copyright ©1995 by NeXT Computer, Inc.  All Rights Reserved.

NXLock



Inherits From: Object
Conforms To: NXLock
Declared In: machkit/NXLock.h



Class Description

An NXLock is used to protect regions of code that can consume long periods of time, such as disk I/O or heavy computations.  A lock is created once and is subsequently used to protect one or more regions of code.  If a region of code is in use, an NXLock waits using the condition_wait() function, so the thread doesn't busy-wait.  The following example shows the use of an NXLock:

NXLock *theLock = [[NXLock alloc] init];         // done once!
/* ... other code */
[theLock lock];
/* ... possibly a long time of fussing with global data... */
[theLock unlock];

The NXConditionLock, NXLock, NXRecursiveLock, and NXSpinLock classes all implement the NXLock protocol with various features and performance characteristics; see the other class descriptions for more information.



Instance Variables

None declared in this class.



Method Types

Acquire or release a lock lock
unlock



Instance Methods

lock
lock

Waits until the lock isn't in use, using condition_wait() if necessary, then grabs the lock.



unlock
unlock

Releases the lock, using condition_signal() to signal the next party that the lock is available.