|
|
|
|
|
SemaphoreStart (Function) In french: SémaphoreDébut Locks the current thread until the semaphore is opened (which means until a "free" spot becomes available in the protected section). Reminder: Semaphores can be used to define a protected area of code that can only be executed by a specific number of threads.
Syntax
<Result> = SemaphoreStart(<Semaphore name> [, <Maximum timeout>])
<Result>: Boolean - True if the thread is allowed to enter in the code section,
- False otherwise (maximum duration reached).
<Semaphore name>: Character string Name of semaphore to use. If the semaphore does not exist, it is created with the default options (see SemaphoreCreate) <Maximum timeout>: Optional integer or optional duration Maximum timeout in hundredths of a second. - At the end of the specified duration, if the thread did not receive the authorization, <Result> is set to False.
- If this parameter is not specified or if it corresponds to the Infinite constant, the wait is infinite.
- If this parameter is set to 0, <Result> corresponds to the status of the semaphore. The thread is not pending.
This parameter can correspond to: - an integer corresponding to the number of hundredths of a second,
- a Duration variable,
- the duration in a readable format (e.g., 1 s or 10 ms).
Remarks SemaphoreStart("SemaphoreName")
is equivalent to: CriticalSectionStart("MyCriticalSection")
By default, SemaphoreStart creates a semaphore limited to a single thread.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|