Semaphore

Simple semaphore implementation wrapping around Matlab's waitfor.

You are now following this Submission

Matlab has a waitfor function but it only works if you have a figure handle, leading to some somewhat out-of-place code if you want to use it with callbacks.

Semaphore.m is a simple wrapper around waitfor to make downstream code a little cleaner. To use it, create a Semaphore object. If this object is passed to an event handler or timer, then that handler can call Semaphore.Release() when it's finished.

If another thread as a Semaphore.Wait() call, it will wait until the respective Semaphore has been released.

Inspired by http://www.mathworks.com/matlabcentral/fileexchange/32489-semaphore, but I wanted something that didn't require an external library.

Cite As

Kevin Wang (2026). Semaphore (https://www.mathworks.com/matlabcentral/fileexchange/42910-semaphore), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: semaphore

Categories

Find more on Develop Apps Using App Designer in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

Removed eval() calls.

1.1.0.0

Updated to reuse existing figures to save memory and improve performance.

1.0.0.0