Semaphore
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://se.mathworks.com/matlabcentral/fileexchange/42910-semaphore), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: semaphore
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
