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
Opens a synchronization event between several threads.
Example
// Create an event
Event_Letsgo is ManualEvent(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
<Event>.Open()
<Event>: ManualEvent variable
Name of a variable of type ManualEvent to be opened.
Remarks
  • This function is equivalent to the following syntax of EventChange:
    EventChange(<Event>, eventOpen)
  • 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
Component: wd290vm.dll
Minimum version required
  • Version 24
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/21/2023

Send a report | Local help