|
|
|
|
<Hilo>.SendSignal (Función) 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.
// 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 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
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|