iOS pthread_rwlock 实现多读单写
pthread_rwlock_init(&_rwlock, NULL);
- (void)read{
pthread_rwlock_rdlock(&_rwlock);
NSLog(@"read");
pthread_rwlock_unlock(&_rwlock);
}
- (void)wtite
{
pthread_rwlock_wrlock(&_rwlock);
NSLog(@"write");
pthread_rwlock_unlock(&_rwlock);
}
上面的代码用到了读写锁,读操作是共享的,可以多线程同时读取,写操作是互斥的,同一时间只能有一个写,同时在写的时候,不能读,我之前的文章中写过一个多读单写的案例,利用的是栅栏函数。
网友评论