- Qt 6.9
- Threading Classes
- Qt 6.9.0 Reference Documentation

# Threading Classes

These Qt Core classes provide threading support to applications. The Thread Support in Qt page covers how to use these classes.

Concurrent Filter and Filter-Reduce | Selecting values from a sequence and combining them, all in parallel
Concurrent Map and Map-Reduce | Transforming values from a sequence and combining them, all in parallel
Concurrent Run | A simple way to run a task in a separate thread
Concurrent Task | A configurable way to run a task in a separate thread
QAtomicInteger | Platform-independent atomic operations on integers
QAtomicPointer | Template class that provides platform-independent atomic operations on pointers
QFuture | Represents the result of an asynchronous computation
QFutureSynchronizer | Convenience class that simplifies QFuture synchronization
QFutureWatcher | Allows monitoring a QFuture using signals and slots
QMutex | Access serialization between threads
QMutexLocker | Convenience class that simplifies locking and unlocking mutexes
QPromise | Way to store computation results to be accessed by QFuture
QReadLocker | Convenience class that simplifies locking and unlocking read-write locks for read access
QReadWriteLock | Read-write locking
QRecursiveMutex | Access serialization between threads
QRunnable | The base class for all runnable objects
QSemaphore | General counting semaphore
QSemaphoreReleaser | Exception-safe deferral of a QSemaphore::release() call
QThread | Platform-independent way to manage threads
QThreadPool | Manages a collection of QThreads
QThreadStorage | Per-thread data storage
QWaitCondition | Condition variable for synchronizing threads
QWriteLocker | Convenience class that simplifies locking and unlocking read-write locks for write access
QtConcurrent | High-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives
QtConcurrent::QTaskBuilder | Used for adjusting task parameters
QtFuture::WhenAnyResult | QtFuture::WhenAnyResult is used to represent the result of QtFuture::whenAny()
QAtomicInteger::qYieldCpu()