首先线程锁是为了解决多线程访问同一个可变变量或数据库时线程安全问题的.
1.这种是最简单的:
@synchronized(self)
{
// 使用这段代码对其他 @synchronized(self) 都是互斥的
// self 指的时同一个对象
}
2.需要创建一个线程锁的实例对象
NSLock *theLock = [[NSLock alloc] init];
[theLock lock];
//在这里写入多线程操作的代码即可
[theLock unlock];
我暂时只用过上面2种方法,而第一种方式较多.