The last tool I would like to demonstrate in relation to
threads for now is called System Explorer.
This is one of my own tools, which you can download from the GitHub
repository that you can find on my GitHub site, or you can just look at
the downloadable content for this module, and I've placed a System
Explorer instance there. So if you run it,
it has some common functionality with Process Explorer,
which I'm not going to explore at this point. I just want to show you what
other functionality related to threads you can find here.
So there's this button here for Threads, and this button shows
all the threads in the system in a single view.
So you can sort, for example, by priority, see which
threads have the highest priority.
You can also sort by CPU time, see which threads are
actually running right now and which are not.
You can also see the state of the thread here on the left.
In fact, you can sort by state if you so desire, and you see
the replacement of threads that is happening.
Lots of threads get terminated at any given point in time.
And this is fairly common on a typical Windows system. You
also see all the running threads that are doing some work
for the system right now.
Currently, of course,
System Explorer itself is running, so one thread will always be in the
running state here as it is updating its own view. But there could be others
coming up from time to time, and, of course, you might want to launch
certain applications such as CPU Stress here,
which we'll also do later on in this course to just demonstrate. For example,
here's a thread running with maximum activity, and it's always
going to be running here and consume 100% CPU,
which means that it's essentially grabbing a processor and not
letting it go, at least using one processor all the time because
there are enough processors to go around. So you can play with this
and see what that looks like.
There are some other columns here you might want to check out
such as Start Address, stack information,
Kernel Time,
User Time, other things you might find interesting, which you
can sort on and see what is running the most or whatever other
things you'd like to look at.
So this is kind of a unique view because it shows what's going on in the
entire system and not just on the per‑process basis.