AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de gestión de procesos / Hilos, semáforos, señales y mutex
  • Declaración
  • Propiedades específicas de las variables de tipo Thread
  • Funciones WLanguage que manipulan variables de tipo Thread
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
El tipo Thread permite definir todas las características de un subproceso. Las características del subproceso se pueden definir y cambiar utilizando diferentes propiedades WLanguage.
Nota: Para obtener más información sobre la declaración de este tipo de variable y el uso de propiedades WLanguage, consulte Declarar una variable.
Novedad versión 2025
Java Este tipo de variable ahora está disponible para aplicaciones Java.
Ejemplo
// Declare a variable to handle a thread
t is Thread
// Build a thread and trigger its execution on a procedure
t = ThreadExecute(Proc, ("First parameter", 2))
// Build a thread
t is Thread(Proc, ("First parameter", 2))
// Trigger the execution of the thread
ThreadExecute(t)
Declaración

Declarar un subproceso Ocultar los detalles

MyVariable is Thread
En este caso, no se ha descrito el subproceso. Se debe asignar a la variable el valor de un subproceso existente o el resultado de una de las funciones de ejecución de subprocesos.

Declarar un subproceso con el tipo Thread Ocultar los detalles

MyVariable is Thread (<Procedure> [, <Parameters> [, <Options>]])
<Procedure>: Cadena de caracteres o variable de tipo Procedure
Procedimiento a ejecutar. Este parámetro puede corresponder a:
  • el nombre del procedimiento a ejecutar.
  • el nombre de la variable de tipo Procedimiento que corresponde al procedimiento a ejecutar.
<Parameters>: Lista de valores entre paréntesis, separados por comas
Parámetros del procedimiento a ejecutar. La lista de parámetros tiene el siguiente formato:
(<Parameter 1>, ..., <Parameter N>)
donde:
  • <Parameter 1>: Primer parámetro del procedimiento.
  • ...
  • <Parameter N>: Enésimo parámetro del procedimiento.
<Options>: Constante opcional de tipo Integer
Modo de inicio del subproceso.
threadFullCopyHFSQLContext
(Valor predeterminado)
Desencadena la copia inmediata del contexto HFSQL actual.
Se recomienda si el subproceso debe tener en cuenta las posiciones actuales en los archivos y consultas del contexto llamador.
threadGlobalContextFuerza el uso del contexto global del proyecto si el subproceso se ejecuta desde una ventana. El subproceso continuará ejecutándose hasta que se cierre la aplicación.
De forma predeterminada, se utiliza el contexto de la ventana, el subproceso se detiene al cerrarla.
threadLightCopyHFSQLContextDesencadena la copia inmediata de una parte del contexto HFSQL actual.
Se almacenan los siguientes elementos:
  • los directorios en los que se encuentran los archivos de datos HFSQL Classic.
  • Conexiones cliente/servidor HFSQL.
threadWaitForStartEspera a que el subproceso inicie realmente antes de continuar con la ejecución.
En este caso:
  • el hilo está descrito y su descripción ya no puede modificarse.
    El subproceso no se ejecuta automáticamente, una declaración por sí sola no hará que se ejecute el subproceso. Se debe llamar a una de las funciones de ejecución de subprocesos para iniciar la ejecución del subproceso.
  • la seguridad de los hilos se implementa automáticamente. En este modo:
    • se producirá un error de compilación si se accede a los controles en el subproceso.
    • se lanzará una excepción:
      • si el hilo accede a los controles en tiempo de ejecución,
      • si se llama a la función ThreadStop.
    • cuando se cierra la ventana que desencadenó el hilo, se genera una solicitud para detener el hilo (pero el hilo sigue ejecutándose después de cerrar la ventana).
Propiedades

Propiedades específicas de las variables de tipo Thread

Las siguientes propiedades se pueden utilizar para manejar Hilo variables:
Nombre de la propiedadTipo utilizadoEfecto
EstadoConstante de tipo IntegerEstado del hilo:
  • ThreadStopRequested: Se ha solicitado la parada del hilo.
  • threadRunning: El hilo está en ejecución.
  • hiloNoEjecutado: El hilo no se ha ejecutado.
  • ThreadSuspendido: El hilo ha sido suspendido.
  • ThreadEnd: El hilo existe pero ha terminado.
Esta propiedad es de solo lectura.
Novedad versión 2025
Extra
VariantPermite almacenar información avanzada sin afectar la ejecución de la aplicación. Puede almacenar valores de cualquier tipo (array, etc.). También es posible agregar miembros a la propiedad Extra.
Ejemplo:
MyVariable.Extra.Info1 = Value
MyVariable.Extra[Info2] = Value2
MyVariable.Extra.Date = DateSys()
Nombre Cadena de caracteresNombre del subproceso.
Esta propiedad es de solo lectura.
PrioridadConstante de tipo IntegerPrioridad del hilo actual:
  • PrioridadAlta: Prioridad alta.
  • PrioridadNormal: Prioridad normal.
  • PrioridadBaja: Prioridad baja.
ReturnedValueValor devuelto por el hilo. Atención:
  • Si el hilo sigue en ejecución, el ReturnedValue bloquea la ejecución hasta que el subproceso termine.
  • Si el hilo termina sin un error fatal, la propiedad devuelve el valor de retorno o los valores de la función principal del hilo.
Esta propiedad es de solo lectura.
Recordatorio:
  • La propiedad State permite conocer el estado del subproceso.
  • Es posible esperar el final de un hilo con ThreadWait.
Novedad versión 2025
Java Esta propiedad no se bloquea en Android 6. Aparece un error si el hilo no ha completado la ejecución.
StopRequestedbooleano
  • True si se solicitó detener el subproceso,
  • False en caso contrario.
Esta propiedad es de solo lectura.
Observaciones

Funciones WLanguage que manipulan variables de tipo Thread

ThreadExecuteStarts the execution of a secondary thread.
ThreadRequestStopEnvía una solicitud para detener un subproceso.
ThreadSendSignalThe current thread sends a signal to the specified thread in order to unlock it.
ThreadWaitEspera a que finalice la ejecución del subproceso especificado.
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 28/01/2025

Señalar un error o enviar una sugerencia | Ayuda local