美文网首页
[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();

    相关文章

      网友评论

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

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