10.2 Synchronization

► |  | The Racket Reference

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

► | 10 | Concurrency and Parallelism

10.1 | Threads
10.2 | Synchronization
10.3 | Thread-Local Storage
10.4 | Futures
10.5 | Places
10.6 | Distributed Places
10.7 | Engines

▼ | 10.2 | Synchronization

10.2.1 | Events
10.2.2 | Channels
10.2.3 | Semaphores
10.2.4 | Buffered Asynchronous Channels

top ← prev up next →

#### 10.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.

10.2.1 Events
10.2.2 Channels
10.2.3 Semaphores
10.2.4 Buffered Asynchronous Channels

top ← prev up next →