QT线程同步技术详解

一、线程同步概念

二、QT线程同步技术简介

2.1初级锁

2.2读写锁

2.3条件锁

三、QT线程同步应用详解

3.1初级锁

3.2读写锁

3.3条件锁


一、线程同步概念

        线程同步,广义上的概念一般指多线程间对资源“读”与“写”权限的管理策略,为了避免数据冲突与数据不一致,关于此概念,网上介绍很多,在此不赘述。

二、QT线程同步技术简介

2.1初级锁

        对需要保护的资源上锁,独占式使用,如:公厕的蹲坑,一次只能一人用,你进入了,你就会反锁,别人就进不去,这就是初级的独占式上锁。

        QT提供了相关的类QMutex,有lock和unlock函数,成对使用。

2.2读写锁

        为了更高效的利用资源,QT提供了读写权限分离锁QReadWriteLock,有以下4种应用场景:

        A:我在读的时候,你也可以读:一起看看无所谓,又不会看坏;

        B:我在读的时候,你不可以写:我读的时候,你不能动手,以免我看得眼花缭乱;

        C:我在写的时候,你不可以读:我动手时,你别看,以免你看不真切;

        D:我在写的时候,你不可以写:我动手时,你可别动手,搞不清楚到底谁动的手;

        以上,写的时候必须独占,读的时候可以共享读权限,但是也不能写,此机制提高了读的效率,简而言之,大家一起看看是可以的,但是谁都不能动手(修改)

2.3条件锁

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MingoJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值