近期在做嵌入式开发时,有许多情况用上多线程会很方便。用的开发工具是QT。QT在嵌入式开发中非常方便。
QT多线程比较重要的几个关键词:
QThread : 线程类,多线程从这个开始;
QThreadStorage :线程逐个数据的存储;
QMutex :互斥锁;
QMutexLocker :自动对QMutex加锁和解锁;
QReadWriterLock:共享锁(读);
QSemaphore :提供整型信号量,互斥量的泛化;
QWaitCondition:使线程休眠直到被别的线程唤醒;
创建线程的最好方法是建立一个类,继承QThread类,然后重写run()函数。线程的启动调用start() ,从run()函数开始。
class MyThread : public QThread
protected:
};
这样就可以使用线程来解决一些问题。
QT有一个很重要的特性就是slot,然后加上Timer就可以实现类似于多线程的效果,这样要比上面的方法简单,功能也没有那么强大了。至于用哪种方法,可以从实际的情况去选择!