async: Run IO operations asynchronously and wait for their results

[ bsd3, concurrency, library ] [ Propose Tags ]

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).

Flags

Automatic Flags
NameDescriptionDefault
benchDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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, 2.0.1.5, 2.0.1.6, 2.0.2, 2.1.0, 2.1.1, 2.1.1.1, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5
Change log changelog.md
Dependencies async, base (>=4.3 && <4.20), hashable (>=1.1.2.0 && <1.5), stm (>=2.2 && <2.6) [details]
License BSD-3-Clause
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 repo head: git clone https://github.com/simonmar/async.git
Uploaded by SimonMarlow at 2023-11-21T08:08:04Z
Distributions Arch:2.2.5, Debian:2.2.2, Fedora:2.2.4, FreeBSD:2.0.2, LTSHaskell:2.2.5, NixOS:2.2.5, Stackage:2.2.5, openSUSE:2.2.5
Reverse Dependencies 530 direct, 4827 indirect [details]
Executables race, conccancel, concasync
Downloads 289793 total (477 in the last 30 days)
Rating 2.75 (votes: 7) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-11-21 [all 1 reports]