QThread之Mutex
来源:互联网 发布:知入与知出议论文答案 编辑:程序博客网 时间:2024/05/16 02:08
1.Mutex被频繁的使用于控制多个线程的控制,Mutex来锁住资源,或者控制资源的量,这样就达到某个地方的同步,记得使用这种方法的有个很优雅的算法,记得是在某个小型嵌入系统看过,大概是这样的,如果某这资源被多个线程引用,那么这些线程会被放在一个邮箱队列中,来依次处理资源...
2.QMutex只是lock与ublock,或者设置lock与unlock的次数,普通情况下我们只是lock与unlock对应一次就说明资源被释放了
#include <QCoreApplication>#include <QtConcurrent/qtconcurrentrun.h>#include <QMutex>#include "mythread.h"QMutex mutex(QMutex::NonRecursive);void myRunFunction(QString name){ mutex.lock(); for(int i=0;i<=5;i++){ qDebug() << name << " " << i << "from" << QThread::currentThread(); } mutex.unlock();}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QFuture<void> t1 = QtConcurrent::run(myRunFunction,QString("A")); QFuture<void> t2 = QtConcurrent::run(myRunFunction,QString("B")); QFuture<void> t3 = QtConcurrent::run(myRunFunction,QString("C")); t1.waitForFinished(); t2.waitForFinished(); t3.waitForFinished(); return a.exec();}
0 0
- QThread之Mutex
- 线程之QThread
- QThread之调度
- QThread之创建
- QThread之简单并行
- Qt之QThread详解
- Qt之QThread
- Qt之QThread用法
- Qt之线程QThread
- QThread 出现QThread: Destroyed while thread is still running QMutex: destroying locked mutex的问题
- QThread
- QThread
- QThread
- QThread
- QThread
- QThread
- QThread
- QThread
- GTK+图形化应用程序开发学习笔记(一)—概述
- iOS定时器应该在viewDidDisappear还是dealloc方法里调用invalidate方法
- 持久层mybatis如何防止sql注入攻击
- 获取Assets的各种属性
- js中那些方法不改变原来的数组对象
- QThread之Mutex
- Linux sort命令
- Flume之Failover和Load balancing原理及实例
- 浅谈AppStore中的评分与评论
- Python应用指定路径下的模块
- Static用法总结
- PEP8 Python 编码规范整理
- JavaScript客户端测试之旅
- Android_06_横竖屏切换