The ability to undertake concurrent computation is essential for a modern programming language.  Whiley adopts the [[Actor model]], where “Actors” — or processes — communicate by message passing, rather than through shared state.  A critical requirement of the Actor Model is that an actor’s state is completely isolated from any other. Furthermore, actors can only process one message at a time and, thus, [[Synchronization (computer science)|synchronisation]] is implicit.  This leads to a simple model of concurrency that is well-suited to a range of parallel and distributed architectures.

The following sections introduce the main constructs for managing concurrent computation in Whiley:

  1. Overview — discusses the main principles and techniques.
  2. Primitives — discusses the primitives available for managing concurrency.
  3. Deadlocks — discusses situations in which deadlock can arise.