|
|
|
|
|
<AutomaticEvent variable>.Wait (Function) In french: <Variable SignalAutomatique>.Attend Locks the current thread while waiting for the specified event to be opened. // Create an event Event_Letsgo is AutomaticEvent(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() Â // Opens the event to run the threads Event_Letsgo.Open() PROCEDURE Thread_First() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) Event_Letsgo.Wait() Trace(dbgInfo(dbgProcess) + " - Event received") PROCEDURE Thread_Second() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) Event_Letsgo.Wait() Trace(dbgInfo(dbgProcess) + " - Event received") Syntax
<Result> = <Event>.Wait([<Maximum duration>])
<Result>: Integer - 1 if the event was received by the thread,
- 0 otherwise (maximum duration exceeded).
<Event>: AutomaticEvent variable Name of the AutomaticEvent 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…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|