11.1.1 创建线程

举报
DS小龙哥 发表于 2021/12/09 22:52:12 2021/12/09
【摘要】 第11章 多线程编程 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待阻塞,这样就大大提高了程序的运行效率,也就提高CPU的利用率。一个程序(进程)创建多个线程...

第11章 多线程编程

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

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

11.1 QThread类介绍

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

11.1.1 创建线程

创建线程模型:


  
  1. //线程的子类化
  2. class Thread : public QThread
  3. {
  4. Q_OBJECT
  5. protected:
  6. void run();
  7. };
  8. void Thread ::run()
  9. {
  10. /*线程执行代码*/
  11. }

类成员函数run()是QThread

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/120952982

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。