11.1.1 创建线程
【摘要】
第11章 多线程编程
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待阻塞,这样就大大提高了程序的运行效率,也就提高CPU的利用率。一个程序(进程)创建多个线程...
第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
文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。
原文链接:xiaolong.blog.csdn.net/article/details/120952982
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)