5.11.4 多线程算法处理模块
整个系统的软件平台采用了多线程技术,GUI处于主线程中,而目标对象检测和跟踪标定的算法模块则处于其子线程中。这样做不仅提高了整个系统的运行效率,而且避免了系统界面“卡死”的现象。提高应用程序的响应速度,使多CPU系统更加有效。当线程数不大于CPU 数目时,操作系统可以高度不同的线程运行于不同的CPU上。改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为独立或半独立的运行部分,这样有利于程序的理解和维护。
Qt为实现线程的互斥与同步提供了以下几种常用类,它们是:QMutex、QMutex Locker、QReadWriteLocker、QRead Locker、QWriteLocker、QSemaphore和QWaitConditon。(https://www.daowen.com)
在Qt中使用线程很简单,只需要继承QThread类并重新实现其扪run()函数,代码如下:
