IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Le support des threads avec Qt

Qt fournit un support de threads dans le formulaire des classes de threading ind�pendantes de la plateforme, une mani�re thread-safe(1) de poster des �v�nements, et des connexions signaux/slots � travers les threads. Cela rend simple le d�veloppement d'applications Qt multi-thread et de tirer profit des machines multiprocesseurs. La programmation multi-thread est aussi un paradigme tr�s utile pour ex�cuter des op�rations consommatrices en temps de calcul sans pour autant bloquer l'interface utilisateur d'une application.

Introduction

Les pr�c�dentes versions de Qt offraient l'option de compiler la biblioth�que sans le support des threads. Depuis Qt 4.0, les threads sont toujours activ�s.

Sujets :

Lectures recommand�es

Ce document est destin� � un public poss�dant la connaissance et l'exp�rience des applications multi-thread. Si vous d�butez dans le domaine du « threading », reportez-vous � la liste des lectures recommand�es :

Les classes de threading

Ces classes sont appropri�es aux applications thread�es.

Lancement asynchrone L'en-t�te <QtConcurrentRun> fournit une mani�re de lancer une fonction dans un thread s�par�.
Concurrence et r�duction de filtre L'en-t�te <QtConcurrentFilter> fournit des filtres simultan�s et r�ductibles.
Concurrence et r�duction de map L'en-t�te <QtConcurrentMap> fournit des maps simultan�s et r�ductibles.
QAtomicInt Op�rations atomiques ind�pendantes de la plateforme sur des entiers.
QAtomicPointer Classe template qui fournit des op�rations atomiques ind�pendantes de la plateforme sur des pointeurs.
QFuture Repr�sente le r�sultat d'un calcul asynchrone.
QFutureSynchronizer Classe de convenance qui simplifie la synchronisation de QFuture.
QFutureWatcher Permet l'�coute d'un QFuture par l'utilisation des signaux et des slots.
QMutex S�rialisation d'acc�s entre les threads.
QMutexLocker Classe utilitaire qui simplifie le verrouillage et le d�verrouillage des mutexs.
QReadLocker Classe utilitaire qui simplifie le verrouillage et le d�verrouillage des verrous de lecture et d'�criture pour l'acc�s en lecture.
QReadWriteLock Verrouillage de lecture et d'�criture.
QRunnable La classe de base pour tous les objets ex�cutables.
QSemaphore S�maphore de comptage g�n�ral.
QThread Threads ind�pendants de la plateforme.
QThreadPool G�re une collection de QThread.
QThreadStorage Stockage de donn�es par thread.
QWaitCondition Variable conditionnelle pour la synchronisation de threads.
QWriteLocker Classe utilitaire qui simplifie le verrouillage et le d�verrouillage des verrous de lecture et d'�criture pour l'acc�s en �criture.
QtConcurrent API de haut niveau qui permet l'�criture de programmes multi-thread sans avoir � utiliser de threads de bas niveau.

Note : Les classes Qt de threading sont impl�ment�es avec des API de threading natives : par exemple, Win32 et pthreads. Par cons�quent, elles peuvent �tre utilis�es avec d'autres threads de la m�me API.

Remerciements

Merci � Louis du Verdier pour la traduction et � Thibaut Cuvelier, Jonathan Courtois et Philippe Beaucart pour leur relecture !


(1)Une fonction ou un objet est dit thread-safe quand il peut �tre utilis� simultan�ment par plusieurs threads, en consid�rant uniquement son impl�mentation.

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !