QT线程基础

QT线程基础

  • 线程的概念
  • 类QThread
  • 自定义QThread
    • 例子

线程的概念

  线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。
  每个进程有自己的数据段、代码段和堆栈段。而线程包含独立的栈和CPU寄存器状态。每个线程共享其附属进程的所有资源,包括打开的文件,内存页面信号标识及动态分配的内存等等。

类QThread

  类QThread是QT框架提供的平台无关的线程类。
  常用的成员函数:

QThread::QThread(QObject* parent);//构造函数
void QThread::start();//启动线程
bool QThread::wait(unsigned long time = ULONG_MAX);//阻塞调用该函数线程
void QThread::terminate();//结束线程

自定义QThread

  当线程启动后QThread::run()会被调用,因此当需要自定义线程时,类QThread需要被继承,而QThread::run()需要被改写。
  默认的QThread::run()会调用exec()启动事件循环。

例子

  建一个线程打印12345,每隔一秒打印一个数字。
QT线程基础_第1张图片
QT线程基础_第2张图片QT线程基础_第3张图片QT线程基础_第4张图片
QT线程基础_第5张图片
  看到的结果为线程打印1235的同时,打开了MainWindow窗口。
QT线程基础_第6张图片

你可能感兴趣的:(QT)