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
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
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 mediante diferentes propiedades WLanguage.
Observación: 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.
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 Procedure 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 de procedimiento.
<Options>: Constante opcional de tipo Integer
Modo de inicio del subproceso.
threadFullCopyHFSQLContext
(Valor predeterminado)
Activa la copy 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 hilo se detiene al cerrarla.
threadLightCopyHFSQLContextActiva la copy 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 de HFSQL Client/Server.
threadNormalInicia el subproceso en modo normal. El contexto HFSQL se copia la primera vez que se utiliza una función HFSQL.
threadSecureInicia una thread en modo seguro. En este modo:
  • se producirá un error de compilación si se accede a los controles en el hilo (o si Procedure utiliza el atributo "UI").
  • 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 ha desencadenado el hilo, se genera una petición de parada de el hilo (pero el hilo sigue ejecutándose después de cerrar la ventana).
threadWaitForStartEspera a que el subproceso inicie realmente antes de continuar con la ejecución.
En este caso, se describe el subproceso y la descripción no podrá modificarse de nuevo.
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.
Observaciones

Propiedades específicas de las variables de tipo Thread

Las siguientes propiedades pueden utilizarse para manipular variables de tipo Thread:
Nombre de la propiedadTipo utilizadoEfecto
denominarCadena de caracteresNombre del subproceso.
Esta propiedad es de solo lectura.
EstadoConstante de tipo IntegerEstado del subproceso:
  • threadStopRequested: Se ha solicitado que se detenga el subproceso.
  • threadRunning: Se está ejecutando el subproceso.
  • threadNotExecuted: No se ejecutó el subproceso.
  • threadSuspended: El subproceso está suspendido.
  • threadEnded: El subproceso existe pero ha finalizado.
Esta propiedad es de solo lectura.
PrioridadConstante de tipo IntegerNivel de prioridad actual del subproceso:
  • PriorityHigh: Prioridad alta .
  • PriorityNormal: Prioridad normal.
  • PriorityLow: Prioridad baja.
Universal Windows 10 App No disponible.
ReturnedValueValor devuelto por el hilo. Atención:
  • Si el hilo aún se está ejecutando, la propiedad ReturnedValue bloquea la ejecución hasta que finaliza el hilo .
  • Si el hilo termina sin un error fatal, la propiedad devuelve el valor o valores de retorno del procedimiento principal de el hilo.
Esta propiedad es de solo lectura.
Reminder:
  • La propiedad State permite conocer el estado del subproceso.
  • Es posible esperar el final de una thread con ThreadWait.
StopRequestedbooleano
  • True si se solicitó detener el subproceso,
  • False en caso contrario.
Esta propiedad es de solo lectura.

Funciones WLanguage que manipulan variables de tipo Thread

ThreadExecuteInicia la ejecución de un subproceso secundario.
ThreadRequestStopEnvía una solicitud para detener un subproceso.
ThreadSendSignalEl subproceso actual envía una señal al subproceso que está en espera para desbloquearlo.
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: 22/06/2023

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