1、描述
Qt提供QThread类处理多线程,继承自QObject。不受平台影响,实现跨平台功能。
2、主要的线程类
- QAtomicInt:提供Interger与平台无关的Atomic运算,即提供了整数常用的原子操作,支持四种类型的操作。支持四种类型的操作,Relaxed、Acquired、Release、Ordered。
- QAtomicPointer:提供指针上原子运算的模板类。
- QFuture:提供异步调用函数或执行计算进行交互的类。包括 cancel() 、setPaused() 、pause(),resume()、togglePaused() 等接口。位于QtConcurrent框架下。更加高级,无需使用低级线程原语,例如:互斥、读写锁、等待条件或信号量。
- QFutureSynchronizer:QFuture简化为同步线程执行的类。
- QFutureWatcher:使用信号和槽机制来监听QFuture执行结果。
- QMutex:线程访问之间的同步,互斥锁。
- QMutexLocker:简化了QMutex的加锁和解锁过程。QMutexLocker可以安全的使用QMutex,以免忘记解锁。
- QReadWriteLock:读写锁类。
- QReadLocker:读访问加锁解锁类。
- QWriteLocker:写访问加锁解锁类
- QSemaphore:一般的count互斥类。
- QThread:与平台无关的线程类。
- QThreadPool:线程池类,管理每个线程。
- QWaitCondition:线程条件变量类。