resource = sem_get($key->getKey(), $max, $perm, $autorelease); } public function destroy() { sem_remove($this->resource); } public function acquire(bool $wait = false):bool { return sem_acquire($this->resource, !$wait); } public function release():bool { return sem_release($this->resource); } }