第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
标签:创建,程序,11.1,线程,多线程,QThread 来源: https://blog.csdn.net/xiaolong1126626497/article/details/120952982
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。