11.1.1 创建线程

第11章 多线程编程

多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待阻塞,这样就大大提高了程序的运行效率,也就提高CPU的利用率。一个程序(进程)创建多个线程时,线程与线程之间对共享资源的访问会相互影响,学习线程编程还需要解决线程之间的资源竞争问题。

QT提供了QThread类进行线程管理,QThread采用了独立于平台的方式来管理线程。QThread继承于QObject类,且提供了QMutex、QMutexLocker、QSemaphore相关类来管理线程之间的同步与竞争问题。

11.1 QThread类介绍

要使用QThread类创建线程,则必须子类化QThread类。也就是说必须继承QThread类创建新的派生类。

11.1.1 创建线程

创建线程模型:

//线程的子类化
class Thread : public QThread
{
Q_OBJECT
protected:
    void run();
};
void Thread ::run()
{
   /*线程执行代码*/
}

类成员函数run()是QThread

上一篇:iOS 汇编入门 - arm64基础


下一篇:Qt-线程启动与关闭实例