|
|
|
|
EventWait (Function) In french: SignalAttend Locks the current thread while waiting for the specified event to be opened. // Create an event EventCreate("Let's go", eventAutomatic, 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")
Syntax
<Result> = EventWait(<Event> [, <Maximum duration>])
<Result>: Integer - 1 if the event was received by the thread,
- 0 otherwise (maximum duration exceeded).
<Event>: Character string, or AutomaticEvent or ManualEvent variable - Name of the event to wait for. If this event does not exist, it is automatically created with the default options (automatic mode) and closed.
Name of the AutomaticEvent variable that corresponds to the event to wait for. Name of the ManualEvent variable that corresponds to the event to wait for.
<Maximum duration>: Optional integer or optional Duration Maximum timeout in hundredths of a second. - If no signal was received by the thread before the end of specified duration, <Result> is equal to False.
- The timeout is endless if this parameter is not specified.
- If this parameter is set to 0, <Result> corresponds to the status of the event, without waiting.
This parameter can be: - an integer corresponding to the number of hundredths of a second,
- a Duration variable,
- the duration in a readable format (e.g., 1 s or 10 ms).
Remarks You can end the execution of a thread even if it is locked in an endless wait for an event. Simply use ThreadStop.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|