Up
Authors
- David Chisnall (
csdavec@swan.ac.uk
)
-
Date: Generated at 2023-12-20 19:35:39 -0500
Copyright: (C) 1996-2010 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSLock.h
- Conforms to:
- NSLocking
Availability: OpenStep
NSCondition provides an interface to POSIX
condition variables.
Instance Variables
Method summary
- (void)
broadcast;
Availability: OpenStep
Wakes all threads that are waiting on this condition.
- (
NSString*)
name;
Availability: OpenStep
Returns the name used for debugging messages.
- (void)
setName: (
NSString*)newName;
Availability: OpenStep
Sets the name used for debugging messages.
- (void)
signal;
Availability: OpenStep
Wakes wany one of the threads that are waiting on
this condition.
- (void)
wait;
Availability: OpenStep
Blocks and atomically unlocks the receiver. This
method should only be called when the receiver is
locked. The caller will then block until the
receiver is sent either a
-signal
or
-broadcast
message from another thread. At which point, the
calling thread will reacquire the lock.
- (BOOL)
waitUntilDate: (
NSDate*)limit;
Availability: OpenStep
Blocks the calling thread and acquires the lock, in
the same way as
-wait
. Returns
YES
if the condition is signaled,
or
NO
if the timeout is reached.
Instance Variables for NSCondition Class
@protected gs_cond_public_t _condition;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected gs_mutex_public_t _mutex;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected NSString* _name;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
- Declared in:
- Foundation/NSLock.h
- Conforms to:
- NSLocking
Availability: OpenStep
Lock that allows user to request it only when an
internal integer condition is equal to a particular
value. The condition is set on initialization and
whenever the lock is relinquished.
Instance Variables
Method summary
- (
NSInteger)
condition;
Availability: OpenStep
Return the current condition of the lock.
- (id)
initWithCondition: (
NSInteger)value;
Availability: OpenStep
Initialize lock with given condition.
- (BOOL)
isLockedByCurrentThread;
Availability: OpenStep
Report whether this lock is held by the current
thread.
Raises an exception if this is not
supported by the system lock mechanism.
- (void)
lock;
Availability: OpenStep
Block until acquiring lock.
- (BOOL)
lockBeforeDate: (
NSDate*)limit;
Availability: OpenStep
Try to acquire lock and return before limit,
YES
if succeeded, NO
if
not.
- (void)
lockWhenCondition: (
NSInteger)value;
Availability: OpenStep
Acquire lock when it is available and the internal
condition is equal to value. Blocks
until this occurs.
- (BOOL)
lockWhenCondition: (
NSInteger)condition_to_meet
beforeDate: (
NSDate*)limitDate;
Availability: OpenStep
Try to acquire lock, when internal condition is equal
to condition_to_meet, and return before
limit, YES
if succeeded,
NO
if not.
- (
NSString*)
name;
Availability: MacOS-X 10.5.0
Return the name of the receiver or nil
of none has been set.
- (void)
setName: (
NSString*)name;
Availability: MacOS-X 10.5.0
Sets the name of the receiver (for use in
debugging).
- (BOOL)
tryLock;
Availability: OpenStep
Try to acquire lock regardless of condition and return
immediately, YES
if succeeded,
NO
if not.
- (BOOL)
tryLockWhenCondition: (
NSInteger)value;
Availability: OpenStep
Try to acquire lock if condition is equal to
value and return immediately in any case,
YES
if succeeded, NO
if
not.
- (void)
unlock;
Availability: OpenStep
Relinquish lock.
- (void)
unlockWithCondition: (
NSInteger)value;
Availability: OpenStep
Relinquish the lock, setting internal condition
to value.
Instance Variables for NSConditionLock Class
@protected NSCondition* _condition;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected int _condition_value;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected NSString* _name;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
- Declared in:
- Foundation/NSLock.h
- Conforms to:
- NSLocking
Availability: OpenStep
Simplest lock for protecting critical sections of
code.
An NSLock
is used in multi-threaded
applications to protect critical pieces of
code. While one thread holds a lock within a piece of
code, another thread cannot execute that code until
the first thread has given up its hold on the lock. The
limitation of NSLock
is that you
can only lock an NSLock
once and it must
be unlocked before it can be acquired again.
Other lock classes, notably
NSRecursiveLock
, have different restrictions.
Instance Variables
Method summary
- (BOOL)
isLockedByCurrentThread;
Availability: OpenStep
Report whether this lock is held by the current
thread.
Raises an exception if this is not
supported by the system lock mechanism.
- (void)
lock;
Availability: OpenStep
Block until acquiring lock.
- (BOOL)
lockBeforeDate: (
NSDate*)limit;
Availability: OpenStep
Try to acquire lock and return before limit,
YES
if succeeded, NO
if
not.
- (
NSString*)
name;
Availability: MacOS-X 10.5.0
Return the name of the receiver or nil
of none has been set.
- (void)
setName: (
NSString*)name;
Availability: MacOS-X 10.5.0
Sets the name of the receiver (for use in
debugging).
- (BOOL)
tryLock;
Availability: OpenStep
Try to acquire lock and return immediately,
YES
if succeeded, NO
if
not.
- (void)
unlock;
Availability: OpenStep
Relinquish lock.
Instance Variables for NSLock Class
@protected gs_mutex_public_t _mutex;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected NSString* _name;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
- Declared in:
- Foundation/NSLock.h
- Conforms to:
- NSLocking
Availability: OpenStep
Allows the lock to be recursively acquired by the same
thread. If the same thread locks the mutex (n) times
then that same thread must also unlock it (n) times
before another thread can acquire the lock.
Instance Variables
Method summary
- (BOOL)
isLockedByCurrentThread;
Availability: OpenStep
Report whether this lock is held by the current
thread.
Raises an exception if this is not
supported by the system lock mechanism.
- (void)
lock;
Availability: OpenStep
Block until acquiring lock.
- (BOOL)
lockBeforeDate: (
NSDate*)limit;
Availability: OpenStep
Try to acquire lock and return before limit,
YES
if succeeded, NO
if
not.
- (
NSString*)
name;
Availability: MacOS-X 10.5.0
Return the name of the receiver or nil
of none has been set.
- (void)
setName: (
NSString*)name;
Availability: MacOS-X 10.5.0
Sets the name of the receiver (for use in
debugging).
- (BOOL)
tryLock;
Availability: OpenStep
Try to acquire lock regardless of condition and return
immediately, YES
if succeeded,
NO
if not.
- (void)
unlock;
Availability: OpenStep
Relinquish lock.
Instance Variables for NSRecursiveLock Class
@protected gs_mutex_public_t _mutex;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
@protected NSString* _name;
Availability: OpenStep
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
- Declared in:
- Foundation/NSLock.h
Availability: OpenStep
Controls tracing of locks for deadlocking.
Method summary
+ (BOOL)
shouldCreateTraceableLocks: (BOOL)shouldTrace;
Availability: OpenStep
Sets whether newly created lock objects (NSCondition,
NSConditionLock, NSLock, NSRecursiveLock
but NOT NSDistributedLock) should be created so that
their use by threads is traced and deadlocks can be
detected.
Returns the old value of the
setting.
+ (
NSCondition*)
tracedCondition;
Availability: OpenStep
Creates and returns a single autoreleased traced
condition.
+ (
NSConditionLock*)
tracedConditionLockWithCondition: (
NSInteger)value;
Availability: OpenStep
Creates and returns a single autoreleased traced
condition lock.
+ (
NSLock*)
tracedLock;
Availability: OpenStep
Creates and returns a single autoreleased traced
lock.
+ (
NSRecursiveLock*)
tracedRecursiveLock;
Availability: OpenStep
Creates and returns a single autoreleased traced
recursive lock.
- Declared in:
- Foundation/NSLock.h
Availability: OpenStep
Protocol defining lock and unlock operations.
Method summary
- (void)
lock;
Availability: OpenStep
Block until acquiring lock.
- (void)
unlock;
Availability: OpenStep
Relinquish lock.
Up