PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
New WINDEV, WEBDEV, WINDEV Mobile 25 feature!
  • Synchronizing the threads
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
The current thread sends an event to the specified thread in order to unlock it. This function simplifies the synchronization between threads without having to implement an advanced management of events.
Reminder:
  • A thread is a process run in parallel of current application (main thread). This allows you to run a task in background task for example (backup, ...).
  • ThreadWaitSignal and <Thread>.SendSignal are used to synchronize the threads two by two.
Example
// Create an event
EventCreate("Let's go", eventManual, eventClose)
// Run a first thread
Thread1 is Thread(Thread_First)
ThreadExecute(Thread1)
// Locks the current thread until the event is obtained
ThreadWaitSignal()
 
// Run a second thread
Thread2 is Thread(Thread_Second)
ThreadExecute(Thread2)
// 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
WEBDEV - Server code

Sending a signal to a thread identified by a Thread variable Hide the details

<Thread>.SendSignal()
<Thread>: Thread variable
Name of the Thread variable corresponding to the thread to which the signal must be sent.
Remarks

Synchronizing the threads

ThreadWaitSignal and <Thread>.SendSignal are used to synchronize the threads two by two. To synchronize several threads on the same event, the event management functions must be used:
Remark: The internal mechanisms for managing the queues and stacks allow you not to synchronize the threads (<Queue variable>.Enqueue and <Queue variable>.Dequeue for the queues, <Stack variable>.Push and <Stack variable>.Pop for the stacks).
Business / UI classification : Neutral code
Component : wd250vm.dll
Minimum version required
  • Version 25
This page is also available for…
Comments
Click [Add] to post a comment