redirecting to Scheduling (computing), which covers the same topic; the only source I can find for scheduling as a design pattern is the self-published http://www.c2.com/cgi/wiki?SchedulerPattern, which treats everything as a pattern
(11 intermediate revisions by 10 users not shown)
Line 1:
#REDIRECT [[Scheduling (computing)]]
In [[computer programming]], the '''scheduler pattern''' is a [[software design pattern]]. It is a [[Concurrency (computer science)|concurrency]] pattern used to explicitly control when [[thread (software engineering)|thread]]s may [[execution (computers)|execute]] single-threaded [[source code|code]].
The scheduler pattern uses an object that explicitly sequences waiting threads. It provides a mechanism to implement a [[scheduling policy]], but is independent of any specific scheduling policy — the policy is encapsulated in its own class and is reusable.
The [[Read write lock pattern|read/write lock pattern]] is usually implemented using the scheduler pattern to ensure fairness in scheduling.
Note that the scheduler pattern adds significant overhead beyond that required to call a synchronized [[method (computer science)|method]].
The scheduler pattern is not quite the same as the [[scheduled-task pattern]].