Owning Palette: Synchronization VIs and Functions
Requires: Base Development System. This topic might not match its corresponding palette in LabVIEW depending on your operating system, licensed product(s), and target.
Use the Semaphore VIs to limit the number of tasks that can simultaneously operate on a shared (protected) resource. A protected resource or critical section of code might include writing to global variables or communicating with external instruments.
You can use the Semaphore VIs to synchronize two or more separate, parallel tasks so that only one task at a time executes a critical section of code protected by a common semaphore. In particular, use these VIs when you want certain VIs or parts of a block diagram to wait until another VI or part of a block diagram is finished with the execution of a critical section.
Palette Object | Description |
---|---|
Acquire Semaphore | Acquires access to a semaphore. |
Get Semaphore Status | Returns current status information of a semaphore. |
Not A Semaphore | Returns TRUE if semaphore is not a valid semaphore refnum. |
Obtain Semaphore Reference | Obtains a reference to an existing semaphore or creates a new semaphore and returns a reference to that semaphore. |
Release Semaphore | Releases access to a semaphore. If the Acquire Semaphore VI is waiting for the semaphore this VI releases, it stops waiting and continues execution. |
Release Semaphore Reference | Releases a reference to a semaphore. |