![](https://img-blog.csdnimg.cn/20201029103017557.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
文章平均质量分 84
C++
火山上的企鹅
所有的热爱都要不遗余力
展开
-
Qt 多线程同步:互斥锁QMutextLocker 、读写锁 QReadWriteLock、信号量 QSemaphore、 条件变量QWaitConditio、QThread::wait()
♦ qt 多线程为什么需要同步机制?在Qt多线程中,当多个线程需要访问共享数据时,就会发生竞争条件(Race Condition)。竞争条件指的是多个线程尝试同时访问和修改同一个共享资源的情况,这可能会导致数据不一致或者程序崩溃。♦ qt 多线程有哪些同步机制?Qt多线程提供了互斥锁(Mutex)、信号量(Semaphore)、读写锁(Read-Write Lock)等。同步机制可以确保在任何时候只有一个线程能够访问共享资源,从而避免竞争条件的发生♦ 互斥锁(QMutex)原创 2023-05-04 20:28:02 · 2536 阅读 · 0 评论 -
QT 多线程之继承 QThread
任何继承于QThread的线程都是通过继承 QThread 的run函数来实现多线程的,因此,必须重写QThread的run函数,把复杂逻辑写在QThread的run函数中。然后在主线程中调用 start() 函数来启动子线程。子类化 QThread 的方法,就是重写了 QThread 中的 run() 函数,在 run() 函数中定义需要的工作。这样的结果是,我们自定义的子线程调用 start() 函数后,便开始执行 run() 函数。原创 2023-05-02 22:43:09 · 2065 阅读 · 0 评论 -
QT 中的多线程之 moveToThread
QThread 类提供了一个与平台无关的管理线程的方法。一个 QThread 对象管理一个线程。QThread 的执行从 run() 函数的执行开始,在 Qt 自带的 QThread 类中,run() 函数通过调用 exec() 函数来启动事件循环机制,并且在线程内部处理 Qt 的事件。在 Qt 中建立线程的主要目的就是为了用线程来处理那些耗时的后台操作,从而让主界面能及时响应用户的请求操作。继承 QThread 类下面通过具体的方法描述和例子来介绍第一种方法,第二种方法在下一篇文章中介绍。原创 2023-05-01 22:56:13 · 8213 阅读 · 0 评论 -
C++学习笔记——auto/decltype 自动推导类型
C++11 新增了一个工具,让编译器能够根据初始值的类型判断变量的类型:自动类型推导(auto/decltype)原创 2021-12-12 19:43:43 · 762 阅读 · 2 评论 -
C语言 常见数据类型总结
目录Q: 关于数据声明的8个应用A: 解析官方答案Q: 关于数据声明的8个应用路过的可以尝试下:题目:用变量a或p给出下面的定义1、一个整型数(An integer)2、一个指向整型数的指针( A pointer to an integer)3、一个指向指针的的指针,它指向的指针是指向一个整数( A pointer to a pointer to an intege)4、一个有3个整...原创 2020-03-08 21:57:12 · 837 阅读 · 0 评论 -
C++ 类的静态成员详细讲解
目录1. 简介2. 实例2.1 通过类名调用"静态成员函数"和"非静态成员函数"2.2 通过类的对象调用"静态成员函数"和"非静态成员函数"2.3 在类的"静态成员函数"中使用类的"非静态成员"2.4 在类的非静态成员函数中使用类的静态成员2.5 使用类的静态成员变量3. 总结4.静态成员变量——链表1. 简介● 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有...转载 2020-03-22 20:44:50 · 1051 阅读 · 0 评论