Unlike different processes, which may be from different users and which may be hostile to one another, a process is always owned by a single user, who has presumably created multiple threads so that they can cooperate, not fight.

为什么不用multi-processes来协作呢？

…they are lighter weight than processes, they are easier (i.e., faster) to create and destroy than processes. In many systems, creating a thread goes 10-100 times faster than creating a process.

而且，process之间的资源共享和信息传递（IPC）不如thread高效（共享address space 和 resource）。

3. 总结

Process 这个模型体系由两个独立的概念组成：

resource grouping

execution

关于resource grouping：

One way of looking at a process is that it is a way to group related resources together. A process has an address space containing program text and data, as well as other resource. These resources may include open files, child processes, pending alarms, signal handlers, accounting information, and more. By putting them together in the form of a process, they can be managed more easily.

关于execution：

The other concept a process has is a thread of control, usually shortened to just thread. The thread has a program counter that keeps track of which instruction to execute next. It has registers, which hold its current working variables. It has a stack, which contains the execution history, with one frame for each procedure called but not yet returned from.

process 和 thread 虽然联系紧密，但从概念上区分的话，可以这么认为：

Processes are used to group resources together; threads are the entities scheduled for execution on the CPU.