浅析 Qt中多线程系列之线程初体验 上篇

移动开发
本篇内容介绍的是Qt中多线程系列之线程初体验,QThread 是Qt中一个对线程支持的核心的底层类。每个线程对象代表了一个运行的线程。由于Qt的跨平台特性,QThread成功隐藏了所有在不同操作系统里使用线程的平台相关性代码。

本文介绍的是Qt多线程系列之线程初体验,比较清浅的一些知识,如果你对多线程感兴趣的话,请继续参考 浅析 Qt中多线程系列之线程控制 下篇,你肯定有兴趣。先来看本篇内容。

我总觉得学一个东西时候,我们应该保留最简单本质的东西,接着做个demo的程序先跑起来,再慢慢学入进去.这样一来难度也不会那么大,有时我们也需要自我陶醉一翻,有点成就感了,才能有动力下去。

每个操作系统平台和语言都有自己创建线程的办法,可我们精力有限,不可能一个个全都知道和去学,一般工作也就是掌握一两个.幸好现在有QT,免去平台差异的东西。qt大概从3.x后就开始有了线程支持,到了4.x的时候更是加入了更多高级功能,比如跨线程signal/slot,线程消息循环等,这也为我们做线程通信提供了很好的环境.

在QT要使用线程的话,必须从QThread派生一个类,这是规定,哪怕你的线程做的事情简单到1+1都得这么做.。这次我们先做个简单的程序,让一个多线程程序跑起来,其他的留到以后再说.

使用一个线程的主要的步骤如下:

1、定义一个线程类,继承自QThread

2、重载protected Run方法

3、实例化类,用QThread 的Start方法 ,开始跑起线程,这样最终创建的线程将和主线程就并发运行了

CTHREAD.H

  1.  #ifndef CTHREAD_H    
  2.  #define CTHREAD_H     
  3.  #include <QThread>        
  4.  class CThread : public QThread       
  5.  {        
  6.  public:        
  7. CThread();    
  8.  protected:    
  9.  void run();        
  10.  };     
  11.  #endif // CTHREAD_H  

 
CTHREAD.cpp

  1. #include "CThread.h"        
  2. #include <QDebug>        
  3. CThread::CThread():QThread()    
  4. {    
  5. }        
  6. void CThread::run()    
  7. {        
  8. for(int i=1;i<=10000;i++)    
  9. qDebug()<<i;        
  10. }  

小结:Qt多线程系列之线程初体验 上篇的内容介绍完了,想要深入了解的话,就继续看 浅析 Qt中多线程系列之线程控制 下篇。最后希望本篇对你有帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-24 11:12:39

Qt 多线程 线程

2011-08-02 10:26:59

iOS 多线程 线程

2011-06-07 17:35:39

iphone 多线程

2021-08-12 14:33:20

Python多线程编程

2011-06-22 16:02:37

Qt 多线程 重入

2011-06-22 14:30:44

QT 多线程 线程

2023-06-07 13:49:00

多线程编程C#

2011-06-13 10:03:19

Qt 多线程 编程

2011-06-30 17:31:32

Qt 多线程 信号

2023-06-08 08:21:08

多线程编程线程间通信

2023-06-09 07:59:37

多线程编程锁机制

2010-02-01 17:25:09

Python多线程

2009-03-12 10:52:43

Java线程多线程

2011-06-22 14:38:09

QT 多线程 线程安全

2023-10-06 23:06:01

多线程Python

2011-06-20 13:43:08

Qt Socket 线程

2009-08-12 18:04:44

编写C#多线程

2023-06-05 07:56:10

线程分配处理器

2023-06-06 08:17:52

多线程编程Thread类

2011-06-22 16:08:40

Qt 多线程 事件循环
点赞
收藏

51CTO技术栈公众号