The async package
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.1.2:
Bump stm dependency to 2.4
Changes in 2.0.1.1:
Safe Haskell support: Control.Concurrent.Async is now Trustworthy
Changes in 2.0.1.0:
Added a Functor instance for Async
Added asyncBound, asyncOn, asyncWithUnmask, asyncOnWithUnmask, withAsyncBound, withAsyncOn, withAsyncWithUnmask, withAsyncOnWithUnmask.
Added mapConcurrently
Added Concurrently (with Applicative and Alternative instances)
Properties
| Versions | 1.0, 1.1, 1.2, 1.3, 1.4, 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.1.2, 2.0.1.3, 2.0.1.4 |
|---|---|
| Dependencies | base (≥4.3 & <4.6), stm (≥2.2 & <2.5) |
| License | BSD3 |
| Copyright | (c) Simon Marlow 2012 |
| Author | Simon Marlow |
| Maintainer | Simon Marlow <marlowsd@gmail.com> |
| Category | Concurrency |
| Home page | https://github.com/simonmar/async |
| Bug tracker | https://github.com/simonmar/async/issues |
| Source repository | git clone https://github.com/simonmar/async.git |
| Upload date | Mon Aug 20 13:37:01 UTC 2012 |
| Uploaded by | SimonMarlow |
| Built on | ghc-7.4 |
| Distributions | Fedora: 2.0.1.3, NixOS: 2.0.1.4, Debian: 2.0.1.3, FreeBSD: 2.0.1.3 |
Modules
- Control
- Concurrent
Downloads
- async-2.0.1.2.tar.gz (Cabal source package)
- package description (included in the package)