QMutex 类学习笔记

来源:互联网 发布:vod电影点播软件 编辑:程序博客网 时间:2024/06/05 18:35

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()

 

 

0 0
原创粉丝点击