QThread多线程的使用

QThread多线程的使用

  • 点击创建线程,程序会创建一个线程每隔1s打印自增数, 点击删除线程会删除最近创建的线程。下方的数字显示当前的线程数量。
  • printThread类继承了QThread,通过start调用执行run函数。结束线程时,调用quit函数使线程退出。
    QThread多线程的使用
  • 下面两个函数是按钮的槽函数,用STL MAP管理线程的ID与线程对象指针。
    QThread多线程的使用
  • 注意:正常情况下通过线程对象调用start函数,会去执行run函数。从该函数返回后,线程实际就已经结束了。在run函数的默认实现中,它会去调用exec函数进入事件循环机制。我们也可以在重写的run中调用exec进入事件循环,使得线程类可以响应各种信号的事件。