14. (多线程)Multithreading
来源:互联网 发布:名赛公司取名软件 编辑:程序博客网 时间:2024/09/21 09:02
传统的GUI应用只有一个线程,一次只执行一个操作。如果用户从界面进行了一个非常耗时的操作,在操作正在执行的时候,界面是没有任何响应的。在第七章事件处理中提出了这个问题的一个解决方案。多线程是另一个解决方案。
在一个多线程的应用中,GUI运行在独自的线程中,其他的操作则发生其他的一个或者多个线程中。在多线程应用中,不管进行多么密集的操作,界面仍然能够正常相应。在单处理器的机器上,由于多线程的影响,相比相同应用的单线程程序,多线程应用的运行效率稍慢。但是在已经很普遍的多处理器的机器上,多线程应用能够在不同的处理器上同时执行多个线程,具有明显的性能优势。
在本章,我们从介绍QThread开始,介绍用QMutex,QSemaphore和QWaitCondition进行线程同步(Qt4.4将会提供一个高级多线程API,以使多线程应用更加可靠)。然后我们将会看到在事件循环开始后,主线程如何与其他线程进行同步。最后,简要介绍Qt类中那些能够在线程中使用,那些不能。
有一些专门书籍,在这些书中对多线程进行了详尽的说明, 例如Bil Lewis 和 Daniel J. Berg合著的《Thread Primer:A Guide to MultithreadedProgramming》(Prentice Hall, 1995),Gregory Andrews编写的《Multithreaded, Parallel, andDistributed Programming》(Addison-Wesley, 2000),在本章中假定您已经了解多线程编程的基本概念,主要介绍Qt的多线程编程,而不是介绍线程的基本概念。
- 14. (多线程)Multithreading
- 多线程(multithreading)基础
- .net多线程探索(multiThreading)
- 多线程(Multithreading)
- java 多线程(multithreading)(一)
- iOS8 多线程Multithreading简介
- 多线程:C++11 multithreading
- 蓝桥杯-Multithreading(java)
- 蓝桥杯 MultiThreading(C++)
- multithreading
- ios swift多线程的实现 Multithreading
- Multithreading - 同一进程中的多线程能共享进程资源么?
- IOS-笔记13(Closures, Multithreading)
- Practical Multithreading for Client Apps (.net客户端程序使用多线程的实践)
- Multithreading C++ Out of Core Sotring for Massive Data|多线程C++的大规模数据外部排序
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记31 Multithreading多线程
- iOS 【Multithreading-创建线程的方式/线程状态(了解)】
- C++ Multithreading
- 关于ipv6的笔记
- hdu 1219 AC Me (java版本)
- Maven详解之仓库------本地仓库、远程仓库
- MVC用filter做权限过滤: 1:创建filter类;类需要继承一个接口,并且重写4个方法;如下: namespace MvcApplication1.Code { public clas
- tensorflow之学习率自衰减的实现
- 14. (多线程)Multithreading
- C# 复习抽象类的使用,模拟移动设备的读写
- 读取两文件,不同的内容存入另一个文件中
- USACO-Section1.3 Mixing Milk
- 80,90后需要提前领悟的至高心法
- 算法导论程序40--贪心算法(活动选择问题)
- 教你快速实现Nexus刷机
- 《SQL反模式》总结
- Bootstrap基本框架