mirror of
https://github.com/barrucadu/dejafu.git
synced 2024-12-18 19:11:37 +03:00
39 lines
1.5 KiB
Haskell
39 lines
1.5 KiB
Haskell
-- |
|
|
-- Module : Control.Concurrent.Classy
|
|
-- Copyright : (c) 2016 Michael Walker
|
|
-- License : MIT
|
|
-- Maintainer : Michael Walker <mike@barrucadu.co.uk>
|
|
-- Stability : experimental
|
|
-- Portability : non-portable
|
|
--
|
|
-- Classy concurrency.
|
|
--
|
|
-- Concurrency is \"lightweight\", which means that both thread
|
|
-- creation and context switching overheads are extremely
|
|
-- low. Scheduling of Haskell threads is done internally in the
|
|
-- Haskell runtime system, and doesn't make use of any operating
|
|
-- system-supplied thread packages.
|
|
--
|
|
-- Haskell threads can communicate via @MVar@s, a kind of synchronised
|
|
-- mutable variable (see "Control.Concurrent.Classy.MVar"). Several
|
|
-- common concurrency abstractions can be built from @MVar@s, and
|
|
-- these are provided by the "Control.Concurrent.Classy"
|
|
-- library. Threads may also communicate via exceptions.
|
|
module Control.Concurrent.Classy
|
|
( module Control.Monad.Conc.Class
|
|
, module Control.Concurrent.Classy.Chan
|
|
, module Control.Concurrent.Classy.CRef
|
|
, module Control.Concurrent.Classy.MVar
|
|
, module Control.Concurrent.Classy.STM
|
|
, module Control.Concurrent.Classy.QSem
|
|
, module Control.Concurrent.Classy.QSemN
|
|
) where
|
|
|
|
import Control.Concurrent.Classy.Chan
|
|
import Control.Concurrent.Classy.CRef
|
|
import Control.Concurrent.Classy.MVar
|
|
import Control.Concurrent.Classy.QSem
|
|
import Control.Concurrent.Classy.QSemN
|
|
import Control.Concurrent.Classy.STM
|
|
import Control.Monad.Conc.Class
|