概念
多线程的使用主要是为了处理比较耗时的过程。这可以用以下图来形象地描述:
目前,由于继承QObject的多线程实现方法更加灵活,Qt官方推荐使用该方法实现多线程。
想用图来描述实现的过程,发现也不好表达,将就着看吧:
步骤
1、创键一个继承于 QObject 的自定义线程类(如:MyThread),用来盛放比较耗时,需要放入子线程的处理函数
- 定义一个线程处理函数(如:MyWork),当然也可以定义多个,这时多个处理函数就共用一个子线程
- 在处理函数中进行处理,此过程可能时间较长(如:QThread::sleep(1))
- 在处理函数中发送处理完成的信号(如:emit signal_back()),当然该信号中可能含有处理的结果信息(如计算结果)