A class of objects for synchronizing access to a shared resource that contains some number of available units.
Instances of the system class semaphore
are used for synchronizing access to a shared resource that contains some number of available units. They are made by make-semaphore and are used semaphore-acquire and semaphore-release.
LispWorks User Guide and Reference Manual - 20 Sep 2017