code: public function setSemaphore(Semaphore $semaphore) {
  		if ($this->created) {
  			throw new WorkerPoolException('Cannot set the Worker Pool Size for a created pool.');
  		}
  		if (!$semaphore->isCreated()) {
  			throw new \InvalidArgumentException('The Semaphore hasn\'t yet been created.');
  		}
  		$this->semaphore = $semaphore;
  		return $this;
  	}
docs: Sets the Semaphore, that will be used within the worker processes
  @param \QXS\WorkerPool\Semaphore $semaphore the Semaphore, that should be used for the workers
  @return WorkerPool
  @throws \QXS\WorkerPool\WorkerPoolException in case the WorkerPool has already been created
  @throws \InvalidArgumentException in case the semaphre hasn't been created