简介:
Qt线程API测试与总结,Qt跨进程通信API测试与总结。
每个文件夹中都有说明文档,说明每个工程在干什么,以及对于这个文件夹中内容的总结。
各文件夹说明文档总结汇总:
1.CreatingThreads
一:线程销毁方法:
connect(thread,&QThread::finished,thread,&QThread::deleteLater);
1.在QCoreApplication::exec()执行前调用deleteLater,一旦调用该函数,该类会被销毁(不适用线程类情况)。在主事件循环停止后调用deleteLater,则不会删除该对象。
2.如果在没有事件循环的线程中调用deleteLater,则在线程结束时销毁该对象。
3.在有事件循环的线程中调用deleteLater,则在线程中deleteLater对应事件前的所有pending events处理完后销毁该对象。
二:几种创建线程方式的区别:
1.QThread::create:线程中无事件循环。
2.QObject::moveToThread:线程自动带上事件循环。
3.子类化QThread:通过有没执行exec()来决定是否开启事件循环。
4.通过线程池中分配出一个线程。子类化QRunnable,并实现纯虚函数run()。无事件循环。
三:线程中数据反馈到主线程的几种方法:
1.在线程中通过QApplication::postEvent向目标对象发送事件。
2.通过元对象系统,调用QMetaObject::in