Qt多线程:使用互斥锁

1、官方文档:QMutex类提供线程间的访问序列化。QMutex的目的是保护一个对象、数据结构或代码片段,这样每次只有一个线程可以访问它(这类似于Javasynchronized关键字)。通常最好将互斥对象与QMutexLocker一起使用,因为这样可以很容易地确保一致地执行锁定和解锁。2、官方示例:QMutexmutex;intnumber=6;v…

大家好,又见面了,我是你们的朋友全栈君。

1、官方文档:

QMutex类提供线程间的访问序列化。
QMutex的目的是保护一个对象、数据结构或代码片段, 
这样每次只有一个线程可以访问它(这类似于Java synchronized关键字)。 
通常最好将互斥对象与QMutexLocker一起使用,因为这样可以很容易地确保一致地执行锁定和解锁。

2、官方示例:

 QMutex mutex;
 int number = 6;

 void method1()
 {
     mutex.lock();
     number *= 5;
     number /= 4;
     mutex.unlock();
 }

 void method2()
 {
     mutex.lock();
     number *= 3;
     number /= 2;
     mutex.unlock();
 }

即使用户同时调用两个函数,在同一时刻,也只会执行一个函数内操作number的代码。

3、配合QMutexLocker使用

单独使用QMutex时,每次都需要加锁、解锁,显得不太方便,QMutex配合QMutexLocker使用是比较推荐的方法:
头文件:

#include <QMutex> 
...
private:
    QMutex _mutex;
...

同一个例子:使用QMutexLocker极大地简化了代码,并使其更具可读性:

 QMutex m
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126621.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Opencv分水岭算法——watershed自动图像分割用法[通俗易懂]

    Opencv分水岭算法——watershed自动图像分割用法[通俗易懂]分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。其他图像分割方法,如阈值,边缘检测等都不会考虑像素在空间关系上的相似性和封闭性这一概念,彼此像素间互相独立,没有统一性。分水岭算法较其他分割方法更具有思想性,更符合人眼对图像的印象。其他关

    2022年6月29日
    52
  • Unrecognized Windows Sockets error: 0: JVM_Bind

    Unrecognized Windows Sockets error: 0: JVM_BindUnrecognized Windows Sockets error: 0: JVM_Bind

    2022年4月25日
    38
  • 【AS】Windows10下Git环境变量配置

    很久没用回Windows了,最近因为工作原因又回归到Windows的怀抱,配置完AS的开发环境后使用Git管理本地代码时提示:’git’不是内部或外部命令,也不是可运行的程序或批处理文件。去百度大概搜了一下,是因为没有配置Git环境变量的原因,但是没有具体的解决步骤,特此记录一下.(PS:如何下载和安装就不具体赘述了,直接百度Git就能下载,安装教程请点击参考)一.确定G…

    2022年4月4日
    162
  • jquery 使用dialog弹窗显示在整个屏幕上,而不是只遮盖当前的ifream或div,另附dialog中加返回按钮,设置高宽等「建议收藏」

    jquery 使用dialog弹窗显示在整个屏幕上,而不是只遮盖当前的ifream或div,另附dialog中加返回按钮,设置高宽等「建议收藏」jquery 使用dialog弹窗显示在整个屏幕上,而不是只遮盖当前的ifream或div,另附dialog中加返回按钮,设置高宽等

    2022年4月23日
    49
  • 关于GHO文件怎么安装,GHO文件怎么打开等问题解答

    关于GHO文件怎么安装,GHO文件怎么打开等问题解答首先说下GHO文件是什么,GHO文件是用GHOST软件对电脑硬盘中的系统备份生成的文件.我们用一键备份工具备份电脑系统会生成一个GHO文件,另外我们下载的ghost系统中(如雨林深度之类)也有一个GHO文件.1,问:gho文件怎么装系统,怎么安装gho文件. 答:总的来说是通过ghost软件来安装.比如U盘启动工具,网上的什么老毛桃,大白菜,电脑店之类的U盘启动工具都可以来安装,通过

    2022年7月12日
    16
  • anycast RP「建议收藏」

    anycast RP「建议收藏」动态RP尽管较静态RP有一定的优点,但依旧存在缺陷,当选定了RP后,所有的流量仅仅依靠这一个RP转发组播数据流量,不能实现流量负载功能。anycastRP场景:为了增强PIM-SM中RP节点的可靠性,以及对网络中的组播流量进行分担,可在网络中选取若干RP点,运行AnycastRP,达到冗余备份,负载分担的目的。原理:多个RP配置一个相同的AnycastRP地址…

    2022年5月24日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号