► |  | Reference: Racket

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
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

10.1 | Threads
10.2 | Synchronization
10.3 | Thread-Local Storage
10.4 | Futures for Parallelism
10.5 | Places: Coarse-grained Parallelism

▼ | 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 →