[Next: Starting Threads with QThread]
Qt provides thread support in the form of platform-independent threading classes, a thread-safe way of posting events, and signal-slot connections across threads. This makes it easy to develop portable multithreaded Qt applications and take advantage of multiprocessor machines. Multithreaded programming is also a useful paradigm for performing time-consuming operations without freezing the user interface of an application.
Earlier versions of Qt offered an option to build the library without thread support. Since Qt 4.0, threads are always enabled.
This document is intended for an audience that has knowledge of, and experience with, multithreaded applications. If you are new to threading see our Recommended Reading list:
These classes are relevant to threaded applications.
The <QtConcurrentRun> header provides a way to run a function in a separate thread. |
|
The <QtConcurrentFilter> header provides concurrent Filter and Filter-Reduce. |
|
The <QtConcurrentMap> header provides concurrent Map and MapReduce. |
|
Platform-independent atomic operations on integers |
|
Template class that provides platform-independent atomic operations on pointers |
|
Represents the result of an asynchronous computation |
|
Convenience class that simplifies QFuture synchronization |
|
Allows monitoring a QFuture using signals and slots |
|
Access serialization between threads |
|
Convenience class that simplifies locking and unlocking mutexes |
|
Convenience class that simplifies locking and unlocking read-write locks for read access |
|
Read-write locking |
|
The base class for all runnable objects |
|
General counting semaphore |
|
Platform-independent threads |
|
Manages a collection of QThreads |
|
Per-thread data storage |
|
Condition variable for synchronizing threads |
|
Convenience class that simplifies locking and unlocking read-write locks for write access |
|
High-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives |
Note: Qt's threading classes are implemented with native threading APIs; e.g., Win32 and pthreads. Therefore, they can be used with threads of the same native API.
[Next: Starting Threads with QThread]
© 2008-2011 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
All other trademarks are property of their respective owners. Privacy Policy
Licensees holding valid Qt Commercial licenses may use this document in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
Alternatively, this document may be used under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.