![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 84
伐尘
这个作者很懒,什么都没留下…
展开
-
【windbg】使用windbg 检查c++程序死锁
上一篇文章是使用lockcop软件检测死锁的。参考见:使用现在使用windbg。可运行的程序和代码还是一样的。转载 2023-06-09 14:47:36 · 346 阅读 · 0 评论 -
【lockcop】使用lockcop软件检测c++死锁
C++多线程开发中,容易出现死锁导致程序挂起的现象。转载 2023-06-09 14:40:44 · 532 阅读 · 0 评论 -
【Qt】QThreadPool类和QtConcurrent命名空间
【Qt】QThreadPool类和QtConcurrent命名空间一、QThreadPool类QThreadPool管理一组线程。它负责管理和回收单个QThread对象以减少程序中线程创建的开销。每个Qt应用程序都有一个全局的QThreadPool对象,可通过方法globalInstance()获得。为了调用QThreadPool中的一个线程,需要提供一个从QRunnable继承过来的类,并实现其中的run方法。然后创建一个该类的对象,传递给QThreadPool::start()方法。代码片断如下:转载 2022-05-05 10:13:29 · 228 阅读 · 0 评论 -
【QT】Qt多线程编程之高级函数
【QT】Qt多线程编程之高级函数1. 概述之前的文章我们都是讨论 QThread 这种很底层的类,使用起来要考虑方方面面。或者说只要用到底层的接口(如 QThread、信号量、互斥锁等),那基本就是重新造一个轮子出来。幸运的是,Qt 提供了高级函数来简化我们的多线程编写,它就是 Qt Concurrent 模块!只要在 pro 文件添加“Qt += concurrent”并且在我们的 h 文件添加“#include ”,就可以使用这些函数了。基本上所有的 concurrent 函数分为三种类型:r原创 2022-04-27 16:56:43 · 1791 阅读 · 0 评论 -
【QT】Qt多线程中的信号与槽
【QT】Qt多线程中的信号与槽1. Qt对象的依附性和事务循环QThread继承自QObject,自然拥有发射信号/定义槽函数的能力。QThread默认声明了以下几个关键信号(信号只能声明不能定义):(1) 线程开始运行时发射的信号void started()(2)线程完成运行时发射的信号void finished()...转载 2022-04-26 11:45:08 · 3366 阅读 · 1 评论 -
【QT】Qt之QFutureWatcher
【QT】Qt之QFutureWatcher简述QFuture 表示异步计算的结果,QFutureWatcher 则允许使用信号和槽监视 QFuture,也就是说,QFutureWatcher 是为 QFuture 而生的。详细描述QFutureWatcher 提供了有关 QFuture 的信息和通知,使用 setFuture() 函数开始监视一个特定的 QFuture,函数 future() 则返回由 setFuture() 设置的 future。为了方便,QFuture 的很多函数可以直转载 2022-04-25 16:29:05 · 4702 阅读 · 1 评论 -
【QT】QFuture的使用:多线程与进度条
【QT】QFuture的使用:多线程与进度条介绍QFuture 类可以用来获取异步计算的结果(类似 std::future ),一般配合 Qt Concurrent 模块和 QFutureWatcher 类工作。在 Qt Creator 中搜索 concurrent 可以看到一些相关示例。官方示例中, QFuture 一般和 QFutureWatcher 配合,因为 QFuture 不是 QObject 子类,没有信号槽。但是 QFuture 相关的接口会触发 QFutureCallOutEvent 事转载 2022-04-25 16:03:13 · 1653 阅读 · 1 评论 -
Qt 线程池的使用
文章目录Qt 线程池的使用1. Qt 线程池的原理2. QRunnable3. QThreadPoolQt 线程池的使用1. Qt 线程池的原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?线程池是一种多线程处理形式,处理过转载 2022-03-22 15:50:58 · 6536 阅读 · 1 评论 -
Qt 线程中QThread的使用
文章目录Qt 线程中QThread的使用1. 线程类 QThread1.1 常用共用成员函数1.2 信号槽1.3 静态函数1.4 任务处理函数2. 使用方式 12.2 示例代码3. 使用方式 23.1 操作步骤3.2 示例代码Qt 线程中QThread的使用在进行桌面应用程序开发的时候, 假设应用程序在某些情况下需要处理比较复杂的逻辑, 如果只有一个线程去处理,就会导致窗口卡顿,无法处理用户的相关操作。这种情况下就需要使用多线程,其中一个线程处理窗口事件,其他线程进行逻辑运算,多个线程各司其职,不仅可以转载 2022-03-22 14:16:45 · 28101 阅读 · 7 评论