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. ok sthen@
15 lines
630 B
Plaintext
15 lines
630 B
Plaintext
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').
|