► |  | The Racket Reference

1 | Language Model
2 | Notation for Documentation
3 | Syntactic Forms
4 | Datatypes
5 | Structures
6 | Classes and Objects
7 | Units
8 | Contracts
9 | Pattern Matching
10 | Control Flow
11 | Concurrency and Parallelism
12 | Macros
13 | Input and Output
14 | Reflection and Security
15 | Operating System
16 | Memory Management
17 | Unsafe Operations
18 | Running Racket
| Bibliography
| Index

► | 11 | Concurrency and Parallelism

11.1 | Threads
11.2 | Synchronization
11.3 | Thread-Local Storage
11.4 | Futures
11.5 | Places
11.6 | Engines

▼ | 11.2 | Synchronization

11.2.1 | Events
11.2.2 | Channels
11.2.3 | Semaphores
11.2.4 | Buffered Asynchronous Channels

top ← prev up next →

#### 11.2`` Synchronization

Racket’s synchronization toolbox spans three layers:

- synchronizable events — a general framework for synchronization;

- channels — a primitive that can be used, in principle, to build most other kinds of synchronizable events (except the ones that compose events); and

- semaphores — a simple and especially cheap primitive for synchronization.

11.2.1 Events
11.2.2 Channels
11.2.3 Semaphores
11.2.4 Buffered Asynchronous Channels

top ← prev up next →