The SyncSemaphore class
(PECL sync >= 1.0.0)
A cross-platform, native implementation of named and unnamed semaphore objects.
A semaphore restricts access to a limited resource to a limited number of instances. Semaphores differ from mutexes in that they can allow more than one instance to access a resource at one time while a mutex only allows one instance at a time.