async-2.0.2: Run IO operations asynchronously and wait for their results
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).
Changes in 2.0.2:
- Add a Monad instance for Concurrently
- Bump base dependency to allow 4.9
Changes in 2.0.1.6:
- Add workaround to waitCatch for #14
Changes in 2.0.1.5:
- Bump
basedependencies for GHC 7.8
Changes in 2.0.1.4:
- Bump
basedependency of test suite
Changes in 2.0.1.3:
- Bump
basedependency to allow 4.6
Changes in 2.0.1.2:
- Bump
stmdependency to 2.4
Changes in 2.0.1.1:
- Safe Haskell support:
Control.Concurrent.Asyncis nowTrustworthy
Changes in 2.0.1.0:
- Added a
Functorinstance forAsync - Added
asyncBound,asyncOn,asyncWithUnmask,asyncOnWithUnmask,withAsyncBound,withAsyncOn,withAsyncWithUnmask,withAsyncOnWithUnmask. - Added
mapConcurrently - Added
Concurrently(withApplicativeandAlternativeinstances)
Modules
- Control
- Concurrent