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
  • Sincronizar subprocesos
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
La thread actual envía una Event a la thread especificada para desbloquearla. Esta función simplifica la sincronización entre subprocesos sin tener que implementar una gestión avanzada de eventos.
Recordatorio:
  • Un subproceso es un proceso que se ejecuta en paralelo con la aplicación actual (subproceso principal). Esto le permite iniciar una tarea en segundo plano (hacer una copia de seguridad, etc.).
  • Las funciones ThreadWaitSignal y ThreadSendSignal permiten sincronizar los subprocesos de dos en dos.
// Create an event
EventCreate("Let's go", eventManual, eventClose)
// Run a first thread
ThreadExecute("Thread1", threadNormal, "Thread_First")
// Locks the current thread until the event is obtained
ThreadWaitSignal()
 
// Run a second thread
ThreadExecute("Thread2", threadNormal, "Thread_Second")
// Locks the current thread until the event is obtained
ThreadWaitSignal()
 
// Modifies the event to run the threads
EventChange("Let's go", eventOpen)
//----------------------------------------------
PROCEDURE Thread_First()
Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)")
ThreadSendSignal(threadMain)
EventWait("Let's go")
Trace(dbgInfo(dbgProcess) + " - Event received")
//--------------------------------------------
PROCEDURE Thread_Second()
Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)")
ThreadSendSignal(threadMain)
EventWait("Let's go")
Trace(dbgInfo(dbgProcess) + " - Event received")
Sintaxis

Enviando una señal a una Thread identificada por su nombre Ocultar los detalles

ThreadSendSignal(<Thread name>)
<Thread name>: Cadena de caracteres
Nombre de la el hilo a la que debe enviarse la Event. Para notificar al subproceso principal, utilice la cadena de caracteres "." o la constante threadMain.
No se puede enviar ningún Event al actual thread.
Este nombre se asigna al ejecutar el subproceso (con la función ThreadExecute).
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadIOS WidgetApple WatchMac Catalyst

Enviar una señal a un subproceso identificado por una variable de tipo Thread Ocultar los detalles

ThreadSendSignal(<Thread>)
<Thread>: Variable de tipo Thread
Nombre de la variable Thread correspondiente a el hilo a la que se debe enviar la señal. Para notificar al subproceso principal, utilice la cadena de caracteres "." o la constante threadMain.
No se puede enviar ningún Event al actual thread.
Observaciones

Sincronizar subprocesos

Las funciones ThreadWaitSignal y ThreadSendSignal permiten sincronizar los subprocesos de dos en dos. Para sincronizar varios subprocesos en el mismo evento, se deben utilizar las funciones de gestión de eventos:
Observación: En los mecanismos internos de gestión de colas y pilas, no es necesario sincronizar los subprocesos (funciones Enqueue y Dequeue para las colas, funciones Empuje y Pop para las pilas).
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 9
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