AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de gestión de procesos / Hilos, semáforos, señales y mutex
  • Modo de funcionamiento
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
Desencadena la ejecución de un procedimiento en el hilo principal de la aplicación.
Ejemplo
// Interact with the user
AnAnswer is string
AnAnswer = ExecuteMainThread(UserInteractionProcedure, "Message")
Sintaxis
<Result> = ExecuteMainThread(<WLanguage procedure> [, <Parameter 1> [... [, <Parameter N>]]])
<Result>: Cadena de caracteres
Valor de retorno del procedimiento al que se llamó. Este valor es idéntico al valor obtenido si el procedimiento se ejecuta directamente.
<WLanguage procedure>: Nombre de procedimiento
Nombre del procedimiento a ejecutar.
<Parameter 1>: Opcional
Parámetros que se pasarán al procedimiento. Atención: estos parámetros se pasan por valor (no por referencia).
<Parameter N>: Opcional
Parámetros que se pasarán al procedimiento. Atención: estos parámetros se pasan por valor (no por referencia).
Observaciones

Modo de funcionamiento

El subproceso principal ejecuta el procedimiento cuando espera las acciones del usuario.
Por lo tanto, cuando el subproceso principal de una aplicación debe ejecutar procedimientos llamados por la función ExecuteMainThread, se deben cumplir las siguientes reglas:
  • el subproceso principal debe ser de alta disponibilidad: las secciones críticas deben ser cortas y localizadas, no debe haber procesos largos si un subproceso secundario necesita llamar a la función ExecuteMainThread, no debe haber semáforos ni eventos que esperen objetos de sincronización.
  • para evitar interbloqueos, los subprocesos no deben retener objetos de sincronización (secciones críticas, semáforos, eventos, etc.) cuando se llama a la función ExecuteMainThread.
Si el subproceso principal está ejecutando un proceso, éste no se interrumpe y el procedimiento se ejecuta cuando el subproceso principal vuelve a esperar una acción del usuario.
Sin embargo, se puede utilizar la función Multitask para interrumpir un proceso largo, procesar las acciones del usuario y ejecutar los procedimientos llamados por la función ExecuteMainThread.
La función ExecuteMainThread es bloqueante mientras el subproceso principal no haya ejecutado el procedimiento.
Atención:
  • La función ExecuteMainThread no permite llamar a un procedimiento desde un contexto de ejecución "padre". Por ejemplo, no se puede llamar un procedimiento del proyecto desde un componente externo.
  • Los detalles de los errores y las excepciones del procedimiento ejecutado se recuperan en el subproceso de llamada en el que se llama a la función ExecuteMainThread.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290wm.dll
Versión mínima requerida
  • Versión 17
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 05/07/2023

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