RTSemaphore Class

Limits the number of threads that can access a resource, or a particular type of resource, concurrently.
Inheritance Hierarchy
SystemObject
  IntervalZero.RTX64.RTAPI.ThreadingRTWaitHandle
    IntervalZero.RTX64.RTAPI.ThreadingRTSemaphore

Namespace:  IntervalZero.RTX64.RTAPI.Threading
Assembly:  IntervalZero.RTX64 (in IntervalZero.RTX64.dll) Version: 3.3.0.0 (File version: 3.5.0)

Syntax
public class RTSemaphore : RTWaitHandle

The RTSemaphore type exposes the following members.

Constructors
NameDescription
Public methodRTSemaphore(Int32, Int32)
Initializes a new instance of the RTSemaphore class, specifying the maximum number of concurrent entries, and optionally reserving some entries for the calling thread.
Public methodRTSemaphore(Int32, Int32, String)
Initializes a new instance of the RTSemaphore class, specifying the maximum number of concurrent entries, optionally reserving some entries for the calling thread, and optionally specifying the name of a system semaphore object.
Public methodRTSemaphore(Int32, Int32, String, Boolean)
Initializes a new instance of the RTSemaphore class, specifying the maximum number of concurrent entries, optionally reserving some entries for the calling thread, optionally specifying the name of a system semaphore object, and specifying an out parameter that indicates whether a new system object was created.
Top
Properties
NameDescription
Public propertySafeWaitHandle
Gets or sets the native operating system handle.
(Inherited from RTWaitHandle.)
Top
Methods
NameDescription
Public methodClose
Releases all resources held by the current RTSafeWaitHandle.
(Inherited from RTWaitHandle.)
Public methodDispose
Releases all of the resources used by the RTWaitHandle.
(Inherited from RTWaitHandle.)
Protected methodDispose(Boolean)
Releases the unmanaged resources used by the RTWaitHandle, and optionally releases the managed resources.
(Inherited from RTWaitHandle.)
Public methodStatic memberOpenExisting
Opens an existing named semaphore.
Public methodRelease
Exits the semaphore, returning the previous count.
Public methodRelease(Int32)
Exits the semaphore, returning the previous count.
Public methodWaitOne
When overridden in a derived class, blocks the current thread until the current WaitHandle receives a signal.
(Inherited from RTWaitHandle.)
Public methodWaitOne(Int32)
Blocks the current thread until the current System.Threading.WaitHandle receives a signal.
(Inherited from RTWaitHandle.)
Public methodWaitOne(TimeSpan)
Blocks the current thread until the current System.Threading.WaitHandle receives a signal.
(Inherited from RTWaitHandle.)
Public methodWaitOne(Int32, Boolean)
When overridden in a derived class, blocks the current thread until the current WaitHandle receives a signal, using 32-bit signed integer to measure the time interval and specifying whether to exit the synchronization domain before the wait.
(Inherited from RTWaitHandle.)
Public methodWaitOne(TimeSpan, Boolean)
Blocks the current thread until the current System.Threading.WaitHandle receives a signal.
(Inherited from RTWaitHandle.)
Top
See Also