§8. Concurrency and asynchronous chains
In this chapter
| 8.1 Execution model | The unit of execution is the task |
| 8.2 Suspension points | A task can yield its thread only at suspension points |
| 8.3 Task | Task<T, E> is a lazy computation. |
| 8.4 Chains | A chain links asynchronous steps so that either the whole chain is executed or the first unhandled error is returned. |
| 8.5 Structured concurrency | spawn is allowed only lexically inside scope { … |
| 8.6 Cancellation and deadlines | Cancellation is cooperative |
| 8.7 Channels and select | tx.send(x) suspends when the buffer is full; cap |
| 8.8 Local actors | Messages are processed strictly one at a time, in the order of arrival from each sender. |
| 8.9 Software transactional memory | atomic { … } executes the body as a serialisable transaction over TVars. |
See also
Source: docs/spec/oxl-standard.en.md