En esta página

Multihilo en Qt

Qt proporciona soporte para hilos en forma de clases de hilos independientes de la plataforma, una forma segura de publicar eventos y conexiones de ranura de señal entre hilos. Esto facilita el desarrollo de aplicaciones Qt multihilo portátiles y permite aprovechar las ventajas de las máquinas multiprocesador. La programación multihilo es también un paradigma útil para realizar operaciones que consumen mucho tiempo sin congelar la interfaz de usuario de una aplicación.

Las versiones anteriores de Qt ofrecían la opción de construir la librería sin soporte para hilos. Desde Qt 4.0, los hilos están siempre habilitados.

Temas:

Estos artículos asumen que el lector tiene conocimientos básicos sobre aplicaciones multihilo.

Las Clases de Threading

Estas clases son relevantes para las aplicaciones con hilos.

Concurrent Filter and Filter-Reduce

Seleccionar valores de una secuencia y combinarlos, todo en paralelo

Concurrent Map and Map-Reduce

Transformar valores de una secuencia y combinarlos, todo en paralelo

Concurrent Run

Una forma sencilla de ejecutar una tarea en un subproceso independiente

Concurrent Task

Una forma configurable de ejecutar una tarea en un subproceso independiente

QAtomicInteger

Operaciones atómicas sobre enteros independientes de la plataforma

QAtomicPointer

Clase de plantilla que proporciona operaciones atómicas independientes de la plataforma sobre punteros

QFuture

Representa el resultado de un cálculo asíncrono

QFutureSynchronizer

Clase de conveniencia que simplifica la sincronización QFuture

QFutureWatcher

Permite monitorizar un QFuture utilizando señales y slots

QMutex

Serialización de acceso entre hilos

QMutexLocker

Clase de conveniencia que simplifica el bloqueo y desbloqueo de mutexes

QPromise

Manera de almacenar resultados de computación para ser accedidos por QFuture

QReadLocker

Clase práctica que simplifica el bloqueo y desbloqueo de bloqueos de lectura-escritura para acceso de lectura

QReadWriteLock

Bloqueo de lectura-escritura

QRecursiveMutex

Serialización de acceso entre hilos

QRunnable

Clase base para todos los objetos ejecutables

QSemaphore

Semáforo de recuento general

QSemaphoreReleaser

Aplazamiento a prueba de excepciones de una llamada a QSemaphore::release()

QThread

Manera independiente de la plataforma para gestionar hilos

QThreadPool

Gestiona una colección de QThreads

QThreadStorage

Almacenamiento de datos por thread

QWaitCondition

Variable de condición para sincronizar hilos

QWriteLocker

Clase de conveniencia que simplifica el bloqueo y desbloqueo de bloqueos de lectura-escritura para acceso de escritura

QtConcurrent

APIs de alto nivel que permiten escribir programas multihilo sin utilizar primitivas de threading de bajo nivel

QtConcurrent::QTaskBuilder

Se utiliza para ajustar los parámetros de las tareas

QtFuture::WhenAnyResult

QtFuture::WhenAnyResult se utiliza para representar el resultado de QtFuture::whenAny()

QAtomicInteger::qYieldCpu()

Nota: Las clases de threading de Qt se implementan con APIs de threading nativas; por ejemplo, Win32 y pthreads. Por lo tanto, pueden usarse con hilos de la misma API nativa.

© 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.