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 184.108.40.206:
Bump base dependency to allow 4.6
Changes in 220.127.116.11:
Bump stm dependency to 2.4
Changes in 18.104.22.168:
Safe Haskell support: Control.Concurrent.Async is now Trustworthy
Changes in 22.214.171.124:
Added a Functor instance for Async
Added asyncBound, asyncOn, asyncWithUnmask, asyncOnWithUnmask, withAsyncBound, withAsyncOn, withAsyncWithUnmask, withAsyncOnWithUnmask.
Added Concurrently (with Applicative and Alternative instances)
|Versions||1.0, 1.1, 1.2, 1.3, 1.4, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 2.0.2, 2.1.0, 2.1.1, 184.108.40.206|
|Dependencies||base (>=4.3 && <4.7), stm (>=2.2 && <2.5) [details]|
|Copyright||(c) Simon Marlow 2012|
|Maintainer||Simon Marlow <firstname.lastname@example.org>|
|Source repository||head: git clone https://github.com/simonmar/async.git|
|Uploaded||Tue Sep 11 07:59:38 UTC 2012 by SimonMarlow|
|Distributions||Arch:220.127.116.11, Debian:2.0.2, Fedora:2.1.1, FreeBSD:2.0.2, LTSHaskell:18.104.22.168, NixOS:22.214.171.124, Stackage:126.96.36.199, Tumbleweed:188.8.131.52|
|Downloads||149017 total (12695 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees