2024-05-08发表2025-03-15更新QT13 多线程QThread创建多线程程序互斥量同步QReadWriteLock的线程同步QWaitCondition的线程同步12345678910111213141516#include <QMutex>#include <QThread>QMutex mutex;QWaitCondition newdataAvailable;//生产者mutex.lock();diceValue=qrand(); //获取随机数mutex.unlock();newdataAvailable.wakeAll();//唤醒所有线程,有新数据了msleep(500); //线程休眠100ms//消费者mutex.lock();newdataAvailable.wait(&mutex);//会先解锁mutex,使其他线程可以使用mutexmutex.unlock();基于信号量的线程同步12345#include <QSemaphore>QSemaphore emptyBufs(2);//信号量:空的缓冲区个数,初始资源个数为2int n=emptyBufs.available();emptyBufs.release(2-n);emptyBufs.acquire();//获取一个空的缓冲区13 多线程https://bubuweiying.site/13多线程/作者步步为营发布于2024-05-08更新于2025-03-15许可协议#QT