|
|
|
|
|
EventOpen (Function) In french: SignalOuvre Opens a synchronization event between several threads. // Create an event LetsGo is eventAutomatic  // 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()  // Opens the event to run the threads EventOpen(LetsGo) PROCEDURE Thread_First() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) EventWait("LetsGo") Trace(dbgInfo(dbgProcess) + " - Event received") PROCEDURE Thread_Second() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) EventWait("LetsGo") Trace(dbgInfo(dbgProcess) + " - Event received") Syntax <Event>: Character string, or AutomaticEvent or ManualEvent variable Name of the event to open. This name can correspond to: Remarks - This function is equivalent to the following syntax of EventChange:
EventChange(<Event>, eventOpen) - For an automatic event: A single thread is processed by the event.
The event is automatically closed once the thread is processed. - Pending threads: If there is no pending thread, the event remains open until the next thread, then it is closed.
- New threads: The new threads are added to the pending queue.
- For a manual event: The event is opened.
- Pending threads: All the pending threads are processed.
- New threads: If other threads arrive while the event is still open, they are processed.
Business / UI classification: Neutral code
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|