Bound threads
A thread may become runnable at a time when all LWPs of the process are
already executing threads.
That thread will be made runnable and enqueued until an LWP becomes available.
This implies some latency (time lag) between thread awakening and execution.
There may be circumstances where this behavior is not acceptable.
(Perhaps the thread must respond to a signal in a timely manner.)
If a thread is created with the
THR_BOUND flag to
thr_create(3thread)
then
-
Both a thread and a new LWP are created.
-
The new LWP picks up the new thread.
-
That association remains in effect for the life of the thread.
-
Such threads are called ``bound threads''.
-
When the thread terminates, the LWP also terminates.
Bound threads are not
counted in the algorithm that manages the level of concurrency.
NOTE:
Bound threads are not guaranteed to gain processor time
whenever they are ready to execute;
the LWP on which a bound thread runs
must be scheduled to run on a processor
by the system scheduler (see
``Bound thread scheduling'').
Next topic:
Thread scheduling
Previous topic:
Managing threads concurrency
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004