ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / Process functions / Threads, semaphores, signals and mutex
  • Mode for sharing the events
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Creates an event. An event is used to synchronize several threads at the same time. If the event is open, all the threads waiting for the event are unlocked.
Example
// Création d'un signal
EventCreate("Allez-y", eventManual, eventClose)
// Exécution d'un premier thread
ThreadExecute("Thread1", threadNormal, "Thread_Premier")
// Bloque le thread en cours jusqu'à l'obtention du signal
ThreadWaitSignal()

// Exécution d'un second thread
ThreadExecute("Thread2", threadNormal, "Thread_Second")
// Bloque le thread en cours jusqu'à l'obtention du signal
ThreadWaitSignal()

// Modifie le signal pour exécuter les threads
EventChange("Allez-y", eventOpen)
//----------------------------------------------
PROCEDURE Thread_Premier()
Trace(dbgInfo(dbgProcess) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadSendSignal(threadMain)
EventWait("Allez-y")
Trace(dbgInfo(dbgProcess) + " - Signal reçu")
//--------------------------------------------
PROCEDURE Thread_Second()
Trace(dbgInfo(dbgProcess) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadSendSignal(threadMain)
EventWait("Allez-y")
Trace(dbgInfo(dbgProcess) + " - Signal reçu")
Syntax
EventCreate(<Event> [, <Mode> [, <Initial status> [, <Options>]]])
<Event>: Character string
Name of the event to create. This name will be used by all the event functions.
<Mode>: Optional constant
Mode for managing the event:
eventAutomatic
(Default value)
After its opening, the event is automatically closed as soon as a single thread is unlocked.
eventManualThe event is modified by EventChange.
<Initial status>: Optional constant
Initial status of the event:
eventClose
(Default value)
The event is closed when it is created.
eventOpenThe event is open when it is created.
<Options>: Optional Integer constant
  • Mode for sharing the event:
    shareGlobalThe event is shared between all the applications found on the computer.
    AndroidAndroid Widget iPhone/iPadApple WatchJava This constant is not available.
    shareNoneThe event is specific to the application. If EventDestroy is not called, the event is destroyed at the end of the application.
    AndroidAndroid Widget iPhone/iPadApple WatchJava The events are unique to the application that created them. They cannot be shared between several applications.
    shareUser
    (Default value)
    The event is shared between all the applications of the session of the user who runs the application.
    AndroidAndroid Widget iPhone/iPadApple WatchJava This constant is not available.
  • Mode for destroying the event:
    DestructionWithoutModificationBy default, an event is automatically modified during its destruction. If the event is created with the DestructionWithoutModification constant, it will not be modified when EventDestroy is called or when the application is closed and the event is automatically destroyed.
    AndroidAndroid Widget Java This constant is not available.
The information regarding the share mode and the destruction mode of the event can be combined.
Remarks
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)Ajax

Mode for sharing the events

In shareUser mode, the event is shared between all the applications of the session of the user who runs the application.
  • The event is created by the first application of the session of the user who calls EventCreate.
  • The following applications that call EventCreate connect to the existing semaphore.
  • The last application that is closed destroys the event.
  • A signal with the same name cannot be used by another user's session on the same machine: the system returns an access rights error.
In shareGlobal mode, the event is shared among all the applications found on the computer.
  • The event is created by the first application that calls EventCreate.
  • The following applications that call EventCreate connect to the existing semaphore.
  • The last application that is closed destroys the event.
Component: wd300vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/27/2025

Send a report | Local help