T are returned.
This is the same argument as thread
in threads(). If this and the class
argument are missing, all threads in the process are considerd.
is())
contained in this vector are returned.
Alternatively, a function of one argument can be passed which evaluates a
thread and returns T if the thread is of interest or F
otherwise, as in thread.
This is the same argument as class
in threads()
ps must be symbolic. We can still use ps
to examine a fixed set of thread instances without including new or removing
deleted threads. This is the necessary "latezy" (re)evaluation :-).
ps has been completely evaluated. At the point in time
when each thread's resources is gathered, those values are correct. However,
as the resources for another thread are computed, other threads, including the original thread,
can proceed (unless suspended) making the original statistics out of date.
So caution should be exercised when comparing the properties of different threads
and the related expressions in terms of efficiency, etc. This is the usual problem
with multi-user and multi-process operating systems with several "jobs" running
"simultaneously". Of course, the user can invoke suspend(wait=T)
prior to calling ps() and so make all other threads pause, thus getting a
more accurate view of the current state of the process.
> ps()
<OUTPUT ...>