Allocating memory and resources for process creation is costly.
Because threads share resources of the process to which they belong, it
is more economical to create and context-switch threads. Empirically
gauging the difference in overhead can be difficult, but in general it is
much more time consuming to create and manage processes than threads.
In Solaris, for example, creating a process is about thirty times slower than
is creating a thread, and context switching is about five times slower.