Qt系列文章之三十二 (基于QThread的QReadWriteLock和QWaitCondition 的线程同步)

Posted Fu_Lin_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt系列文章之三十二 (基于QThread的QReadWriteLock和QWaitCondition 的线程同步)相关的知识,希望对你有一定的参考价值。

前言

  上一节讲解了QMutex的同步使用,今天本节将讲解 QReadWriteLock和QWaitCondition 线程同步的使用以及相关概念知识

QReadWriteLock使用

  上文使用互斥量时存在一个问题: 每次只能有一个线程获得互斥量的权限。如果在一个程序中有多个线程读取某个变量,使用互斥量时也必须排队。而实际上若只是读取一个变量,是可以让多个线程同时访问的,这样互斥量就会降低程序的性能。

  假设有一个数据采集程序,一个线程负责采集数据到缓冲区,一个线程负责读取缓冲区的数据并显示,另一个线程负责读取缓冲区的数据并保存到文件,示意代码如下:

int buffer[100

以上是关于Qt系列文章之三十二 (基于QThread的QReadWriteLock和QWaitCondition 的线程同步)的主要内容,如果未能解决你的问题,请参考以下文章

Qt系列文章之三十一 (基于QThread互斥量的线程同步线程)

Qt系列文章之三十一 (基于QThread互斥量的线程同步线程)

Qt系列文章之三十(基于QThread的线程同步概述)

Qt系列文章之三十(基于QThread的线程同步概述)

Qt系列文章之三十三 (基于QThread的信号量的线程同步)

Qt系列文章之三十三 (基于QThread的信号量的线程同步)