ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Process functions / Threads, semaphores, signals and mutex
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Locks the current thread while waiting for the specified event to be opened.
Example
// 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.
  • WINDEVWEBDEV - Server codeUniversal Windows 10 AppiPhone/iPadIOS WidgetApple WatchMac Catalyst Name of the AutomaticEvent variable that corresponds to the event to wait for.
  • WINDEVWEBDEV - Server codeUniversal Windows 10 AppiPhone/iPadIOS WidgetApple WatchMac Catalyst 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.
Component: wd290vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/21/2023

Send a report | Local help