priority-sync-0.1.0.1: Cooperative task prioritization.Source codeContentsIndex
Control.Concurrent.Priority.TaskPool
Description
A prioritized TaskPool. This consists of a Queue, which prioritizes tasks, and a Room which restricts the number of tasks that may execute at one time.
Synopsis
data TaskPool p u
schedule :: TaskPool p u -> p -> Schedule p (DefaultRoomContext (TaskPoolConstraint u), Room (TaskPoolConstraint u))
newTaskPool :: Ord p => QueueConfigurationRecord p -> Int -> u -> IO (TaskPool p u)
simpleTaskPool :: Ord p => IO (TaskPool p ())
poolRoom :: TaskPool p u -> Room (TaskPoolConstraint u)
poolQueue :: TaskPool p u -> Queue p
startQueue :: TaskPool p u -> IO ()
stopQueue :: TaskPool p u -> IO ()
activity :: Ord p => TaskPool p u -> STM Int
Documentation
data TaskPool p u Source
show/hide Instances
schedule :: TaskPool p u -> p -> Schedule p (DefaultRoomContext (TaskPoolConstraint u), Room (TaskPoolConstraint u))Source
A RoomContext for a task pool.
newTaskPool :: Ord p => QueueConfigurationRecord p -> Int -> u -> IO (TaskPool p u)Source

Create a new TaskPool. TaskPools begin stopped, use startQueue to start.

Consider using simpleTaskPool if you have no special needs.

simpleTaskPool :: Ord p => IO (TaskPool p ())Source
Just create a new TaskPool. The task pool is constrained by the number of capabilities indicated by numCapabilities.
poolRoom :: TaskPool p u -> Room (TaskPoolConstraint u)Source
poolQueue :: TaskPool p u -> Queue pSource
startQueue :: TaskPool p u -> IO ()Source
stopQueue :: TaskPool p u -> IO ()Source
activity :: Ord p => TaskPool p u -> STM IntSource
The number of threads participating in this ThreadPool.
Produced by Haddock version 2.4.2