import { Semaphore } from "https://deno.land/x/rimbu@1.2.0/channel/main/index.ts";
Interfaces
Defines the static |
Type Aliases
The semaphore error type. |
import { type Semaphore } from "https://deno.land/x/rimbu@1.2.0/channel/main/index.ts";
A Semaphore is a generalized version of a Mutex, allowing boundaries on the amount of concurrent processes that can have simultaneous access to a shared resource. The semaphore is weighted, meaning that the semaphore has a maximum size/capacity available for the shared resources. When acquiring the resource, a weight can be provided allowing more intensive tasks to acquire a larger share of the shared resource, preventing too many other tasks from also acquiring the resource.
Methods
Returns true if the semaphore will directly give access to the shared resource for the given weight
when
requested.
Request access to a shared resource with the given weight
. Blocks if the semaphore has insufficient capacity
until enough weight has been released. Resolves when the semaphore has enough capacity for the operation.
import { Semaphore } from "https://deno.land/x/rimbu@1.2.0/channel/main/index.ts";