SHOWTHREAD(1) SHOWTHREAD(1)
Name
showthread - display Modula-3 thread activity
Description
The showthread program displays the thread activity of a Modula-3 pro-
gram.
Normally, you should not start showthread directly. Rather, the run-
time will start showthread and feed it with the proper data when the
argument @M3showthread is given to a Modula-3 program; for example, to
run the program foo and see the threads of that process, run foo with
the argument @M3showthread. A Trestle window will appear; when you
click the start button, the program foo will actually start.
Each thread in the program will be given a vertical track in the
showthread window, in which the successive states of the thread will be
displayed, using color patches. After the thread dies, the track can
be reused for another thread.
Each time the scheduler decides to stop the currently running thread
and makes a decision about what to do next, showthread will add a new
row of color patches to show the state of all the threads.
The legend in the showthread window indicates which color is used for
which state:
- running: currently running
- alive: can run, but is not currently running
- waiting: waiting for a condition to be signaled
- locking: waiting for a mutex to be released
- pausing: pausing for some time (via Time.Pause)
- blocking: waiting for I/O activity (via IOSelect)
- dying: the thread returned, but nobody joined it yet
AUTHOR
Eric Muller
SHOWTHREAD(1)