这个允许多个进程同时读,但是只有一个写。而且写读不能同时进行。
于是可能有以下四种情况:
1、一个线程试图对一个加了读锁的互斥量进行上读锁,允许;
2、一个线程试图对一个加了读锁的互斥量进行上写锁,阻塞;
3、一个线程试图对一个加了写锁的互斥量进行上读锁,阻塞;
4、一个线程试图对一个加了写锁的互斥量进行上写锁,阻塞。
所以可以看出,读写锁比较适用的情况是:需要多次对共享的数据进行读操作的阅读线程。
创建多线程
MyThread线程中进行写操作
CSDN QT开发技术文章推荐:Qt开发必备技术栈学习路线和资料
MyThread1进行读操作
与此同时MainWindow主线程也在进行读操作
本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓