Qt 中的綫程支持

Qt 以獨立於平颱的綫程類、張貼事件的綫程安全方式及跨綫程的信號/槽連接形式,提供綫程支持。這使開發可移植多綫程 Qt 應用程序和利用多處理器機器,變得很容易。多綫程編程也是在不凍結應用程序用戶界麵情況下,用於履行耗時操作的有用範式。

早期版本的 Qt 提供在不支持綫程的情況下構建庫的選項。從 Qt 4.0 起,綫程始終被啓用。

話題:

這些文章假定讀者擁有有關多綫程應用程序的基本知識。

綫程類

這些類有關綫程化應用程序。

並發過濾和過濾縮減

並發映射和映射縮減

並發運行

QAtomicInteger

於整數上獨立於平颱的原子操作

QAtomicPointer

為指針提供獨立於平颱的原子操作的模闆類

QFuture

錶示異步計算的結果

QFutureSynchronizer

簡化 QFuture 同步的方便類

QFutureWatcher

允許監視 QFuture 使用信號和插槽

QMutex

在綫程之間串行化訪問

QMutexLocker

簡化鎖定和解鎖互斥的方便類

QReadLocker

用於讀取訪問的鎖定和解鎖的讀寫鎖的方便簡化類

QReadWriteLock

讀/寫鎖定

QRecursiveMutex

在綫程之間串行化訪問

QRunnable

用於所有可運行對象的基類

QSemaphore

通用計數信號量

QSemaphoreReleaser

異常安全的 QSemaphore::release() 調用的延遲

QThread

獨立於平颱的綫程管理辦法

QThreadPool

管理一批 QThread

QThreadStorage

每綫程數據存儲

QWaitCondition

用於同步綫程的條件變量

QWriteLocker

用於寫入訪問的鎖定和解鎖的讀寫鎖的方便簡化類

QtConcurrent

使之無需使用低級綫程原語就能編寫多綫程程序的高級 API

注意: Qt 的綫程類是采用本機綫程 API 實現的 (如,Win32 和 PThreads)。因此,它們可以與相同本機 API 綫程一起使用。