from the wonderful person said:
Hi-
What's the difference between a program, process and thread?
Hope this isn't a homework assignment ) (if it is, go google for it
yourself).
My definition would be that a program is something you explicitly run
(which causes a process to get started). Processes are also started by
the system .. ctrl-alt-delete (task manager) will show you a lot of
processes, most of which you didn't run yourself. 'Program' is actually
a 'not very well' defined term - task manager doesn't use it, it has
'applications'. Process is a bit better defined - a process typically
has resources (code, memory space, file handles, and suchlike) which are
not visible to other processes, and so it is 'somewhat self contained'.
Any process can have multiple threads .. a thread is just a bit of code
that can be off doing something with only minimal reference to other
threads .. in Explorer, for instance, each window may be a separate
thread. On a multi-CPU machine, several threads in one process can be
executing at once (on a single CPU, this isn't physically possible ..
ignoring Hyper Threading, which sort of fakes it).