Skip to main content

__construct

Note

This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.

Create a semaphore

public function __construct(
int $concurrentLimit,
(function(Tin): Awaitable<Tout>) $f,
);

The concurrent limit is per instance; for example, if there are two ongoing requests executing the same code, there will be up to concurrentLimit in each request, meaning up to 2 * concurrentLimit in total.

Parameters

  • int $concurrentLimit
  • (function(Tin): Awaitable<Tout>) $f