美文网首页
[23]QT-多线程QThread中start()和run()函

[23]QT-多线程QThread中start()和run()函

作者: 豚大叔的小屋 | 来源:发表于2023-12-03 11:13 被阅读0次

1.基本概念

一个QThread类的对象管理一个子线程,自定义一个类继承自QThread,并重写虚函数run(),在run()函数里实现线程需要完成的复杂操作(注意QThread只有run函数是在新线程里的)。
一般在主线程创建工作子线程,并调用start(),开始执行工作子线程的任务。start()会在内部调用run()函数,进入工作线程的事件循环,在run()函数里调用exit()或quit()可以结束线程的事件循环,或者在工作主线程里调用terminate()强制结束线程。
void start(Priority = InheritPriority);
void terminate();
void quit();

2.操作流程

1)创建一个继承QThread线程类的子类,记得包含头文件QThread
2)重写父类的虚函数run()方法,在该方法内部实现子线程需要完成的复杂业务
3)在主线程中创建子线程对象 subThread* st = new subThread;
4)启动子线程,调用start()方法:st->start();

相关文章

  • QTimer在QThread中失效

    通过继承QThread类重写run函数实现多线程时,在run()中开启QTimer,并连接timeout信号,会发...

  • 线程

    1.start和run方法 :run方法只在主线程实现,无法实现多线程。start开启多线程 2.开启线程...

  • Java Thread 的 run() 与 start() 的区

    1. start 和 run 方法解释: 1) start:用start方法来启动线程,真正实现了多线程运行,这时...

  • Java-3

    线程中的join()多线程中的run()和start()java中的++i操作是线程安全的吗3*0.1 == 0....

  • Java多线程中start()和run()的区别

    Java多线程中start()和run()的区别 Java的线程是通过java.lang.Thread类来实现的。...

  • Java线程的5种状态及切换

    Java线程的5种状态及切换 thread的run 和start的区别:多线程-Thread的run()与star...

  • Java多线程与常遇面试题总结

    Java多线程面试问题总结 1、多线程有什么用? 2、创建线程的方式 3、start()方法和run()方法的区别...

  • Java Thread 知识点

    一、Thread的start() 及 run() start()方法来启动线程,真正实现了多线程运行,这时无需等待...

  • Java多线程中start()和run()的区别

    Java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。可以通过创...

  • 并发编程(二):线程常用的方法

    start和run start方法 功能说明:启动一个新线程,在新的线程运行run方法中的代码 start方法只是...

网友评论

      本文标题:[23]QT-多线程QThread中start()和run()函

      本文链接:https://www.haomeiwen.com/subject/gdwbidtx.html