ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Process functions / Threads, semaphores, signals and mutex
  • Mode for sharing the semaphores
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
Creates a semaphore.
Reminder: Semaphores are used to define a protected code section that can only be run by a specific number of threads.
Example
// Create a semaphore
SemaphoreCreate("MySemaphore", 3)
Syntax
SemaphoreCreate(<Semaphore name> [, <Authorization> [, <Use> [, <Options>]]])
<Semaphore name>: Character string
Name of the semaphore to create. This name will be used by all the functions for semaphore management.
<Authorization>: Optional integer
Number of concurrent threads allowed in the protected section. This parameter is set to 1 by default.
<Use>: Optional integer
Number of threads found in the section when creating the semaphore (0 by default).
<Options>: Optional Integer constant
Mode for sharing the semaphore:
shareGlobalThe semaphore is shared among all the applications found on the computer.
AndroidAndroid Widget iPhone/iPadJava This constant is not available.
shareNoneThe semaphore is specific to the application. If SemaphoreDestroy is not called, the semaphore is destroyed at the end of the application.
AndroidAndroid Widget iPhone/iPadJava The semaphores are unique for the application that created them. They cannot be shared between several applications.
shareUser
(default value)
The semaphore is shared among all the applications of the session of the user who is running the application.
AndroidAndroid Widget iPhone/iPadJava This constant is not available.
Remarks
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppUser code (UMC)Ajax

Mode for sharing the semaphores

In shareUser mode, the semaphore is shared among all the applications of the session of the user who runs the application.
  • The semaphore is created the first time an application in the user's session calls SemaphoreCreate.
  • The following applications that call SemaphoreCreate connect to the existing semaphore.
  • The last application that is closed destroys the semaphore.
  • A semaphore with the same name cannot be used by a session of another user on the same computer: the system returns an error of access rights.
In shareGlobal mode, the semaphore is shared among all the applications found on the computer.
  • The semaphore is created by the first application that calls SemaphoreCreate.
  • The following applications that call SemaphoreCreate connect to the existing semaphore.
  • The last application that is closed destroys the semaphore.
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