前言
上一节讲解了QMutex的同步使用,今天本节将讲解 QReadWriteLock和QWaitCondition 线程同步的使用以及相关概念知识
QReadWriteLock使用
上文使用互斥量时存在一个问题: 每次只能有一个线程获得互斥量的权限。如果在一个程序中有多个线程读取某个变量,使用互斥量时也必须排队。而实际上若只是读取一个变量,是可以让多个线程同时访问的,这样互斥量就会降低程序的性能。
假设有一个数据采集程序,一个线程负责采集数据到缓冲区,一个线程负责读取缓冲区的数据并显示,另一个线程负责读取缓冲区的数据并保存到文件,示意代码如下:
int buffer[100];
QMutex mutex;
void threadDAQ::run
订阅专栏 解锁全文
508

被折叠的 条评论
为什么被折叠?



