# Barrier

`import { Barrier } from "destack:sync";`

Reusable synchronization barrier.

```ds title="Barrier"
export class Barrier {
    count: usize;
    arrived: Atomic<usize>;
    constructor(count: usize);
    wait(): BarrierWaitResult;
}
```

[language/library/src/sync/barrier.ds:6:22](https://github.com/destack-sh/destack/blob/main/language/library/src/sync/barrier.ds#L6-L22)

## Members

### `count: usize`

The required participant count.

### `arrived: Atomic<usize>`

The current arrival count.

### `constructor(count: usize)`

Create a barrier for `count` participants.

### `wait(): BarrierWaitResult`

Wait until all participants arrive.
