ios: NSConditionLock
锁的相关介绍可以参照:http://blog.csdn.net/lifengzhong/article/details/7487505
看NSConditionLock类的属性方法:
lock,unlock:加锁和解锁,是required method。
- (id)initWithCondition:(NSInteger)condition :初始化对象。有一个整形的conditon参数,表示条件。
- (void)lockWhenCondition:(NSInteger)condition :“The receiver’s condition must be equal to condition before the locking operation will succeed. This method blocks the thread’s execution until the lock can be acquired.” 进程会一直阻塞,一直到满足conditon并完成加锁。
- (void)unlockWithCondition:(NSInteger)condition :解锁并重新设定condition。
因为主线程不能被阻塞,所以你要把你整个逻辑发在一个异步的GCD中。
            
              作者:老Zhan
            
             出处:http://www.cnblogs.com/mybkn/
            
            本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
        
                
            
        
浙公网安备 33010602011771号