blob: e7fa8ba0fc98bd8d9ed6aa1937234e0578b84dd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
This package provides a higher-level interface over threads, in which
an Async a is a concurrent thread that will eventually deliver a value
of type a. The package provides ways to create Async computations,
wait for their results, and cancel them.
Using Async is safer than using threads in two ways:
When waiting for a thread to return a result, if the thread dies
with an exception then the caller must either re-throw the
exception (wait) or handle it (waitCatch); the exception cannot be
ignored.
The API makes it possible to build a tree of threads that are
automatically killed when their parent dies (see withAsync).
|