|
|
|
|
ThreadSendSignal (Function) In french: ThreadEnvoieSignal 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 with the current application (main thread). This allows you to run a task in the background (e.g. backup, etc.).
- ThreadWaitSignal and ThreadSendSignal are used to synchronize the threads two by two.
EventCreate("Let's go", eventManual, eventClose)
ThreadExécute("Thread1", threadNormal, "Thread_First")
ThreadWaitSignal()
ThreadExécute("Thread2", threadNormal, "Thread_Second")
ThreadWaitSignal()
EventChange("Let's go", eventOpen)
PROCÉDURE Thread_First()
Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)")
ThreadSendSignal(threadMain)
EventWait("Let's go")
Trace(dbgInfo(dbgProcess) + " - Event received")
PROCÉDURE Thread_Second()
Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)")
ThreadSendSignal(threadMain)
EventWait("Let's go")
Trace(dbgInfo(dbgProcess) + " - Event received")
Syntax
Sending a signal to a thread identified by its name Hide the details
ThreadSendSignal(<Thread name>)
<Thread name>: Character string Name of the thread to which the event must be sent. To send an event to the main thread, use the character string "." or the threadMain constant. No event can be sent to the current thread. This name is given when running the thread (ThreadExecute). Remarks Synchronizing threads ThreadWaitSignal and ThreadSendSignal 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 ( Enqueue and Dequeue for the queues, Push and Pop for the stacks). Business / UI classification: Neutral code
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|