| << Prev | - Up - |
The module Thread provides operations on first class threads.
Threads may be in one of three states, namely runnable, blocked, or terminated. Orthogonally, a thread may be suspended.
Runnable and non-suspended threads are scheduled according to their priorities, which may be low, medium, or high. The default priority is medium. The priority of a thread may influence its time share for execution, where threads with medium priority obtain at least as long a time share as threads with low priority and at most as long as threads with high priority. Implementations may also choose not to schedule a thread at all if a thread with higher priority is runnable.
A newly created thread inherits its priority from its parent if the latter has either medium or low priority. Otherwise, the new thread gets default (i. e., medium) priority.
IsThread
{Thread.is+X?B}
test whether X is a thread.
this
{Thread.this?Thread}
returns the current thread.
state
{Thread.state+Thread?A}
returns one of the atoms runnable, blocked, terminated according to the current state of Thread.
resume
{Thread.resume+Thread}
resumes Thread. Resumption undoes suspension.
suspend
{Thread.suspend+Thread}
suspends Thread such that it cannot be further reduced.
isSuspended
{Thread.isSuspended+Thread?B}
tests whether Thread is currently suspended.
injectException
{Thread.injectException+Thread+X}
raises X as exception on Thread. If Thread is terminated, an error exception is raised in the current thread.
terminate
{Thread.terminate+Thread}
raises an exception kernel(terminate ...) on Thread.
getPriority
{Thread.getPriority+Thread?A}
returns one of them atoms low, medium, or high according to the current priority of Thread.
setPriority
{Thread.setPriority+Thread+A}
sets priority of thread Thread to the priority described by atom A. A must be one of low, medium, or high.
getThisPriority
{Thread.getThisPriority?A}
returns one of them atoms low, medium, or high according to the priority of the current thread.
setThisPriority
{Thread.setThisPriority+A}
sets priority of the current thread to the priority described by atom A. A must be one of low, medium, or high.
preempt
{Thread.preempt+Thread}
preempts the current thread, i. e., immediately schedules another runnable thread (if there is one). Thread stays runnable.
| << Prev | - Up - |