10 Concurrency and Parallelism

Racket supports multiple threads of control within a program, thread-local storage, some primitive synchronization mechanisms, and a framework for composing synchronization abstractions. In addition, the racket/future and racket/place libraries provide support for parallelism to improve performance.

    10.1 Threads

      10.1.1 Creating Threads

      10.1.2 Suspending, Resuming, and Killing Threads

      10.1.3 Synchronizing Thread State

      10.1.4 Thread Mailboxes

    10.2 Synchronization

      10.2.1 Events

      10.2.2 Channels

      10.2.3 Semaphores

      10.2.4 Buffered Asynchronous Channels

    10.3 Thread-Local Storage

      10.3.1 Thread Cells

      10.3.2 Parameters

    10.4 Futures

      10.4.1 Creating and Touching Futures

      10.4.2 Future Semaphores

      10.4.3 Future Performance Logging

    10.5 Places

    10.6 Distributed Places

      10.6.1 Define Remote Server

      10.6.2 Async Bidirectional Channels

      10.6.3 Distributed Places MPI

    10.7 Engines