`
huobengluantiao8
  • 浏览: 1077166 次
文章分类
社区版块
存档分类
最新评论

关于C++中的GUI线程

 
阅读更多

大家知道,C++中线程分两种,一种是工作者线程,另外一种就是GUI线程,至于他们这间的区别大家可以上网上查找

这里我只是说明一下,创建GUI线程时,需要注意的地方。

有些和窗口相关的线程,最好是放在GUI线程里,因为和窗口或是特殊控件有关的初使化操作,GUI线程已经帮你合理的优化了,如果用工作者线程需要自己做这些操作,往往我们是做不好的。如果创建的MFC程序,在主窗口线程里再创建一个子线程,用来产生一个窗口,那么就用GUI线程,这时候,因为进程中有两个GUI线程,新创建的窗口发送WM_CLOSE后,窗口关闭,但是新创建的GUI线程并没有退出,造成内存泄露。所以后面创建的线程必需要自己处理,线程退出事件,具体操作如下:

新创建的GUI线程里的窗口类需要自己处理OnDestroy消息,并在此函数里调用PostQuitMessage(0);结束线程,所有的资源才能释放。

希望对你有帮助,有问题可以联系本人,guyuewuhua@163.com

分享到:
评论

相关推荐

    Win32中的两种线程--GUI线程与工作线程.zip_C++线程_GUI 工作线程_win32 九宫格_win32的线程_线

    在多线程环境中,如果九宫格内的控件需要进行复杂计算,可以考虑在工作线程中完成计算,然后使用PostMessage或Invoke函数将结果传回GUI线程更新界面。 了解了Win32线程的基本概念后,我们可以编写示例代码来演示...

    C++_GUI_Qt4编程(第二版)_C++GUIQt4编程_QT_

    《C++_GUI_Qt4编程(第二版)》是一本深入浅出的关于使用C++和Qt4框架进行图形用户界面(GUI)开发的专业书籍。Qt4是Qt库的一个重要版本,它提供了丰富的功能和工具,使得开发者能够构建高质量、跨平台的应用程序。...

    C++GUI Qt4编程源代码

    通过QObject的moveToThread()方法,可以将对象移动到不同的线程中运行,实现并发处理。 **6. 网络编程** Qt4的网络模块提供了对HTTP、FTP、TCP/IP等协议的支持,如QNetworkAccessManager类用于发送HTTP请求,...

    C++ Qt GUI4 书+书中源码

    在"C++ Qt GUI4 书+书中源码"中,我们可以学习到以下关键知识点: 1. **Qt基础知识**:Qt库的基础概念,包括信号与槽机制、事件处理、对象模型和元对象系统。这些都是Qt编程的核心,理解和掌握它们对于编写Qt应用至...

    C++简单多线程

    在这个“C++简单多线程”的项目中,我们主要关注如何使用C++ Builder来创建和控制两个线程,以便在一个线程中运行耗时操作,如数据处理,而另一个线程则负责更新用户界面,如显示进度条。进度条是一种常见的UI元素,...

    C++ GUI Qt 4编程(第二版)(中文高清PDF扫描版)+随书源码

    《C++ GUI Qt 4编程(第二版)》是一本专为C++开发者设计的GUI编程书籍,专注...总之,《C++ GUI Qt 4编程(第二版)》是一本全面、实用的Qt学习指南,对于任何想要在C++环境中开发GUI应用的人来说都是不可或缺的资源。

    C++ GUI Qt5编程实战-源代码

    在"C++ GUI Qt5编程实战"的源代码中,你可以期待学习以下关键知识点: 1. **窗口和控件**:如何创建和布局窗口(QWidget),以及使用各种控件(QPushButton、QLineEdit、QTableView等)。 2. **事件处理**:理解事件...

    c++多线程编程初学实例一

    `Sleep(6000)`函数在这里的作用是使当前线程暂停6秒钟,这展示了如何在一个线程中执行异步操作。然而,要注意的是,主线程(主GUI线程)在此期间不会被阻塞,用户界面仍然可以响应其他交互。 在多线程编程中,同步...

    C++GUI+Qt4+编程+(中文第二版).part1

    《C++GUIQt4编程》(第2版)详细讲述了用最新的Qt版本进行图形用户界面应用程序开发...对于《C++GUIQt4编程》(第2版)讲授的大量Qt4编程原理和实践,都可以轻易将其应用于Qt4.4、Qt4.5以及后续版本的Qt程序开发过程中。

    C++ GUI Qt3编程

    在本书中,读者将学习如何利用C++语言和Qt3库来创建功能丰富的图形用户界面(GUI)应用程序。Qt3提供了一套完整的类库,覆盖了窗口管理、控件、布局管理、网络通信、数据库集成、多线程等众多领域,使得开发者可以...

    c++ gui qt4编程源码

    **C++ GUI Qt4编程源码详解** C++ GUI Qt4编程是一门深入学习Qt库进行图形用户界面(GUI)开发的重要课程。Qt4是Qt框架的一个早期版本,它为开发者提供了丰富的API,用于创建跨平台的应用程序。本书的源码提供了...

    c++ gui qt4

    C++ GUI Qt4是Qt框架在C++编程语言中用于构建图形用户界面(GUI)的应用程序。Qt是一个跨平台的开发库,支持多种操作系统,包括Windows、Linux、macOS等。它提供了丰富的API,使开发者能够创建功能强大、美观且响应...

    C++ GUI Qt4

    C++ GUI Qt4是Qt框架在C++语言中构建图形用户界面的一种技术。Qt是一个跨平台的开发库,被广泛用于创建桌面应用、移动应用甚至嵌入式系统。它的核心特性在于提供了一套完整的工具集,包括丰富的GUI控件、网络编程、...

    C++ GUI Qt4编程(第二版).pdf【第三部分】

    《C++ GUI Qt4编程(第二版)》,英文名《C++ GUI Programming with Qt4,Second Edition》,作者:【加拿大】Jasmin Blanchette、【英】Mark Summerfield,翻译:闫锋欣、曾泉人、张志强,审校:周莉娜、赵延兵,...

    基于c++的qt多线程

    通过继承`QThread`或使用其提供的信号槽机制,我们可以将特定的任务放到新线程中执行。下面我们将深入探讨Qt多线程的关键知识点。 ### 1. QThread基础 `QThread`是Qt中的线程类,它提供了一个对象化的线程模型。...

    C+++GUI+Qt4+编程实例代码

    提供的`C++GUI+Programming+with+Qt+4+中文版.pdf`可能是关于Qt4编程的中文教程,对于深入理解Qt4编程原则和实践非常有帮助。 以上内容涵盖了C++使用Qt4进行GUI编程的一些核心概念和实践技巧。通过学习和实践,...

    C++ QT实现多线程【嵌入式QT GUI设计】.zip

    通过继承QThread并重写run()方法,我们可以将计算密集型任务放到新的线程中执行,避免阻塞主线程,保证UI的实时性和响应性。 不过,需要注意的是,Qt的多线程模型与标准C++的线程API有所不同。在Qt中,直接在...

    C++.GUI.Qt.4编程(第二版).随书配套源代码

    此外,书中还会涉及线程和并发编程,这对于构建多任务应用至关重要。 文件名称列表"C++.GUI.Qt4.编程.2nd.Source"暗示了源代码涵盖了书中所有示例,读者可以按照章节逐步实践,加深理解。这些代码实例覆盖了从基础...

    C++ GUI Qt4第二版源代码

    源代码中可能会有QThread的实例,展示如何在新线程中运行任务。 8. **图形视图框架**:Qt的图形视图模型用于高效地显示大量数据。源代码可能包含QGraphicsView和QGraphicsScene的用法,以及如何自定义图形元素。 ...

Global site tag (gtag.js) - Google Analytics