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
  • 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 <Hilo>.SendSignal permiten sincronizar los subprocesos de dos en dos.
Ejemplo
// Create an event
EventCreate("Let's go", eventManual, eventClose)
// Run a first thread
Thread1 is Thread(Thread_First)
ThreadExecute(Thread1)
// Locks the current thread until the event is obtained
ThreadWaitSignal()
 
// Run a second thread
Thread2 is Thread(Thread_Second)
ThreadExecute(Thread2)
// 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
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadIOS WidgetApple WatchMac Catalyst

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

<Thread>.SendSignal()
<Thread>: Variable de tipo Thread
Nombre de la variable Thread correspondiente a el hilo a la que se debe enviar la señal.
Observaciones

Sincronizar subprocesos

Las funciones ThreadWaitSignal y <Hilo>.SendSignal 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 <Variable Queue>.Dequeue para las colas, funciones .Push 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 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/06/2023

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