Qt

您所在的位置:网站首页 qt多线程互斥 Qt

Qt

#Qt| 来源: 网络整理| 查看: 265

一.多线程间的互斥

临界资源--每次只允许一个线程进行访问的资源线程间的互斥--多个线程在同一个时刻需要访问临界资源QMute类是一把线程锁,保证线程间的互斥--利用线程锁能够保证临界资源的安全性QMutex中的关键成员函数void lock()--当锁空闲时,获取锁并继续执行;当锁被获取时,阻塞并等待释放void unlock()--释放锁(同一把锁的获取和释放必须在同一线程中成对出现 )A.生产消费者问题1.有n个生成者同时制造产品,并把产品放入仓库中2.有m个消费者同时需要从仓库中取出产品所定的规则是--当仓库未满,任意生产者可以存入产品,当仓库未空,任意消费者可以取出产品代码示例

#include #include #include #include static QMutex g_mutex;//线程锁 static QString g_store; class Producer : public QThread { protected: void run() { int count = 0; while(true) { g_mutex.lock(); g_store.append(QString::number((count++) % 10)); qDebug()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3