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:線程條件變量類。