[thread.general]

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

## 32.1 General [thread.general]

[1](#1)

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

The following subclauses describe components to create and manage[threads](intro.multithread#def:thread "6.10.2 Multi-threaded executions and data races [intro.multithread]"), perform mutual exclusion, and communicate conditions
and values
between threads, as summarized in Table [154](#tab:thread.summary "Table 154: Concurrency support library summary")[.](#1.sentence-1)

Table [154](#tab:thread.summary) — Concurrency support library summary [[tab:thread.summary]](./tab:thread.summary)  

| [ð](#tab:thread.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [ð](#tab:thread.summary-row-2)<br>[[thread.req]](thread.req "32.2 Requirements") | Requirements |  |
| [ð](#tab:thread.summary-row-3)<br>[[thread.stoptoken]](thread.stoptoken "32.3 Stop tokens") | Stop tokens | <stop_token> |
| [ð](#tab:thread.summary-row-4)<br>[[thread.threads]](thread.threads "32.4 Threads") | Threads | <thread> |
| [ð](#tab:thread.summary-row-5)<br>[[atomics]](atomics "32.5 Atomic operations") | Atomic operations | <atomic>, <stdatomic.h> |
| [ð](#tab:thread.summary-row-6)<br>[[thread.mutex]](thread.mutex "32.6 Mutual exclusion") | Mutual exclusion | <mutex>, <shared_mutex> |
| [ð](#tab:thread.summary-row-7)<br>[[thread.condition]](thread.condition "32.7 Condition variables") | Condition variables | <condition_variable> |
| [ð](#tab:thread.summary-row-8)<br>[[thread.sema]](thread.sema "32.8 Semaphore") | Semaphores | <semaphore> |
| [ð](#tab:thread.summary-row-9)<br>[[thread.coord]](thread.coord "32.9 Coordination types") | Coordination types | <latch>, <barrier> |
| [ð](#tab:thread.summary-row-10)<br>[[futures]](futures "32.10 Futures") | Futures | <future> |
| [ð](#tab:thread.summary-row-11)<br>[[saferecl]](saferecl "32.11 Safe reclamation") | Safe reclamation | <rcu>, <hazard_pointer> |
