Le multithreading dans Qt
Qt prend en charge les threads sous la forme de classes de threads indépendantes de la plate-forme, d'un moyen sûr d'afficher des événements et de connexions de fentes de signaux entre les threads. Il est ainsi facile de développer des applications Qt multithread portables et de tirer parti des machines multiprocesseurs. La programmation multithread est également un paradigme utile pour effectuer des opérations fastidieuses sans geler l'interface utilisateur d'une application.
Les versions antérieures de Qt offraient la possibilité de construire la bibliothèque sans prise en charge des threads. Depuis Qt 4.0, les threads sont toujours activés.
Sujets :
Ces articles supposent que le lecteur possède des connaissances de base sur les applications multithread.
- Les classes de threading
- Technologies multithreading dans Qt
- Synchronisation des threads
- Réentrance et sécurité des threads
- Les threads et les QObjects
- Support des threads dans les modules Qt
Les classes de threading
Ces classes sont pertinentes pour les applications threadées.
Sélectionner des valeurs dans une séquence et les combiner, le tout en parallèle | |
Transformer des valeurs à partir d'une séquence et les combiner, le tout en parallèle | |
Une manière simple d'exécuter une tâche dans un thread séparé | |
Une manière configurable d'exécuter une tâche dans un thread séparé | |
Opérations atomiques indépendantes de la plate-forme sur les nombres entiers | |
Classe modèle qui fournit des opérations atomiques indépendantes de la plate-forme sur les pointeurs | |
Représente le résultat d'un calcul asynchrone | |
Classe de commodité qui simplifie la synchronisation QFuture | |
Permet de contrôler une QFuture à l'aide de signaux et de slots | |
Sérialisation des accès entre les threads | |
Classe de commodité qui simplifie le verrouillage et le déverrouillage des mutex | |
Moyen de stocker les résultats d'un calcul pour qu'ils soient accessibles par une QFuture | |
Classe de commodité simplifiant le verrouillage et le déverrouillage des verrous en lecture-écriture pour l'accès en lecture | |
Verrouillage en lecture-écriture | |
Sérialisation des accès entre les threads | |
Classe de base pour tous les objets exécutables | |
Sémaphore de comptage général | |
Report de l'appel à QSemaphore::release() à l'abri des exceptions | |
Méthode indépendante de la plate-forme pour gérer les threads | |
Gestion d'une collection de QThreads | |
Stockage de données par thread | |
Variable de condition pour la synchronisation des threads | |
Classe de commodité qui simplifie le verrouillage et le déverrouillage des verrous lecture-écriture pour l'accès à l'écriture | |
API de haut niveau permettant d'écrire des programmes multithreads sans utiliser de primitives de threading de bas niveau | |
Utilisée pour ajuster les paramètres des tâches | |
QtFuture::WhenAnyResult est utilisé pour représenter le résultat de QtFuture::whenAny() | |
Note : Les classes de threading de Qt sont implémentées avec des API de threading natives ; par exemple, Win32 et pthreads. Elles peuvent donc être utilisées avec des threads de la même API native.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.