您的位置:首页 > 其它

QMutex 类学习笔记

2015-12-11 13:24 351 查看
QMutex 类学习笔记

Isaaccwoo 2015年12月11日

一、 简介

QMutex,即Qt提供的锁类,用来保护对象的线程安全:同一段时间只允许一个线程访问被保护的对象。当QMutex对象为QMutex::Recursive模式时,允许嵌套使用上锁和解锁功能,否则(QMutex::NonRecursive),同线程中该QMutex对象不能连续执行上锁指令。

二、 自定义类型

是否允许嵌套使用:RecursionMode

enum QMutex::RecursionMod

Constant

Value

Description

QMutex::Recursive

1

In this mode, a thread can lock the same mutex multiple times and the mutex won't be unlocked until a corresponding number of unlock() calls have been made.

QMutex::NonRecursive

0

In this mode, a thread may only lock a mutex once.

三、 正确的打开方式 锁的使用方法

1. 构造与析构

函数
说明
QMutex(RecursionMode mode = NonRecursive)

2. 操作

返回类型
函数
说明
bool

isRecursive()

[Qt5]

void

lock()

bool

tryLock(int timeout = 0)

返回true时记得unlock()

void

unlock()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: