Semaphore

Simple semaphore implementation wrapping around Matlab's waitfor.
744 Downloads
Updated 9 Aug 2013

View License

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 (2024). Semaphore (https://www.mathworks.com/matlabcentral/fileexchange/42910-semaphore), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Develop Apps Using App Designer in Help Center and MATLAB Answers
Acknowledgements

Inspired by: semaphore

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
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