[thread.latch.general]

# 32 Concurrency support library [[thread]](./#thread)

## 32.9 Coordination types [[thread.coord]](thread.coord#thread.latch.general)

### 32.9.2 Latches [[thread.latch]](thread.latch#general)

#### 32.9.2.1 General [thread.latch.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L10677)

A latch is a thread coordination mechanism
that allows any number of threads to block
until an expected number of threads arrive at the latch
(via the count_down function)[.](#1.sentence-1)

The expected count is set when the latch is created[.](#1.sentence-2)

An individual latch is a single-use object;
once the expected count has been reached, the latch cannot be reused[.](#1.sentence-3)
