pooled-io-0.0.2.2: Run jobs on a limited number of threads and support data dependencies

Safe HaskellSafe
LanguageHaskell98

Control.Concurrent.PooledIO.Independent

Synopsis

Documentation

run :: [IO ()] -> IO () Source #

Execute all actions parallelly but run at most numCapabilities threads at once. Stop when all actions are finished. If a thread throws an exception this terminates only the throwing thread.

runLimited :: Int -> [IO ()] -> IO () Source #

runUnlimited :: [IO ()] -> IO () Source #

Execute all actions parallelly without a bound an the number of threads. Stop when all actions are finished.

runException :: Maybe Int -> [IO ()] -> IO () Source #

If a thread ends with an exception, then terminate all threads and forward that exception. runException Nothing chooses to use all capabilities, whereas runException (Just n) chooses n capabilities.