iOS开发中不可避免的会遇到加锁的情况,今天就来比较一下各种加锁方式。目前我所知道的有如下几种加锁方式:
1. @synchronized 关键字加锁
2. NSLock 对象锁
3. NSCondition
4. NSConditionLock 条件锁
5. NSRecursiveLock 递归锁
6. pthread_mutex 互斥锁(C语言)
7. dispatch_sema...
分类:
移动开发 时间:
2015-05-18 16:49:56
阅读次数:
248
ReentrantLock类有一个方法newCondition用来生成这个锁对象的一个条件(ConditionObject)对象,它实现了Condition接口。Condition提供了线程通讯的一套机制await和signal等线程间进行通讯的方法。。
1、适用场景
当某线程获取了锁对象,但因为某些条件没有满足,需要在这个条件上等待,直到条件满足才能够往下继续执行时,就需要...
分类:
其他好文 时间:
2014-10-30 19:13:14
阅读次数:
242
#include class CTestLock { public: CTestLock() { pthread_mutex_init(&mutex_t_, NULL); pthread_cond_init(&cond_t_, NULL); ...
分类:
其他好文 时间:
2014-07-18 12:01:59
阅读次数:
202