Soporte de hilos
Los comandos de soporte de hilos sirven para especificar el nivel de soporte para la programación multihilo en una clase o función. Hay tres niveles de soporte: threadsafe, reentrant y nonreentrant.
El valor por defecto es nonreentrant, lo que significa que la clase o función asociada no puede ser llamada por múltiples hilos. Reentrant y threadsafe son niveles utilizados principalmente para clases.
Reentrant significa que todas las funciones de la clase referenciada pueden ser llamadas simultáneamente por múltiples hilos, siempre que cada invocación de las funciones haga referencia a datos únicos. Mientras que threadsafe significa que todas las funciones de la clase referenciada pueden ser llamadas simultáneamente por múltiples hilos, incluso cuando cada invocación haga referencia a datos compartidos.
Cuando una clase está marcada \reentrant o \threadsafelas funciones de esa clase pueden marcarse nonreentrant utilizando el comando \nonreentrant comando.
Ejemplo
/*!
\class QLocale
\brief The QLocale class converts between numbers and their
string representations in various languages.
\reentrant
\ingroup i18n
\ingroup text
QLocale is initialized with a language/country pair in its
constructor and offers number-to-string and string-to-number
conversion functions similar to those in QString.
...
\nonreentrant
Sets the global default locale to \a locale. These values are
used when a QLocale object is constructed with no
arguments. If this function is not called, the system's locale
is used.
\warning In a multithreaded application, the default locale
should be set at application startup, before any non-GUI
threads are created.
\sa system(), c()
*/
void QLocale::setDefault(const QLocale &locale)
{
default_d = locale.d;
}QDoc genera una notificación cuando una clase se declara reentrante, y enumera las excepciones (las funciones declaradas no reentrantes). Se incluye un enlace a la documentación general sobre reentrada y seguridad de hilos. Además, se incluye una advertencia,"Advertencia: Esta función no es reentrante", en la documentación de las funciones no reentrantes.
QDoc generará la misma notificación y advertencias cuando una clase se declare threadsafe.
Para más información, consulte la documentación general sobre reentrada y seguridad de hilos.
Comandos
\threadsafe
El comando \threadsafe incluye una línea en la documentación para indicar que la clase o función asociada es threadsafe y puede ser llamada simultáneamente por múltiples threads, incluso cuando las invocaciones separadas hacen referencia a datos compartidos.
El comando debe ir en su propia línea.
La documentación generada a partir de este comando será similar a la generada para el comando \reentrant . Véase el ejemplo anterior en la introducción.
Véase también \reentrant y \nonreentrant.
\reentrant
El comando \reentrant indica que la clase o función asociada puede ser llamada simultáneamente por múltiples hilos, siempre que cada invocación haga referencia a sus propios datos. Véase el ejemplo anterior.
El comando debe estar en su propia línea.
Véase también \nonreentrant y \threadsafe.
\nonreentrant
El comando \nonreentrant indica que la clase o función asociada no puede ser llamada por múltiples hilos. Nonreentrant es el caso por defecto.
El comando debe estar en su propia línea.
Cuando una clase está marcada \reentrant o \threadsafelas funciones de esa clase pueden marcarse nonreentrant utilizando este comando en el comentario \fn de las funciones a excluir.
Véase también \reentrant y \threadsafe.
© 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.