QReadWriteLock 读写锁的区别

QReadWriteLock 这个允许多个进程同时读,但是只有一个写。而且写读不能同时进行。
文档里语焉不详,这是我自己的理解:
lockForWrite 为写而锁,就是要修改数据,外人连想进来读数据都不行,完全霸占数据使用权。
lockForRead 为读而锁,就是在读取数据期间不要被修改,但是别人也要求来读数据的话,则不拒绝。但是别人来改数据,那就等我读完数据以后再说。
 
QReadWriteLock lock;
 
void write()
{
lock.lockForWrite();//为写而锁
..........
lock.unlock();//解锁
}
 
void read()
{
lock.lockForRead();//为读而锁
..............
lock.unlock();//解锁
}
posted @ 2015-05-22 18:25  findumars  Views(1174)  Comments(0Edit  收藏  举报