NSLock implements thread locks that can be used to let multiple threads in an application access the same data without clashing. The use of NSLock, and locking in general, is discussed in detail in Chapter 2.
@interface NSLock : NSObject <NSLocking>
// Instance Methods
- (BOOL)lockBeforeDate:(NSDate *)limit;
- (BOOL)tryLock;
// Methods Implementing NSLocking
- (void)lock;
- (void)unlock;