Process is a basic concept of windows that includes all the resources needed to run a program. Processes are independent of each other, and one process cannot access data between the other processes (unless it is in a step-based approach), and the failure of one process to run does not affect the running of another process. Windows is the use of processes to divide work into multiple work areas. A process can be understood as a basic boundary of a program. Solve the problem: to solve the concurrency problem, that is, to make the process independent, it is necessary to make each process has its own program segment, data segment, Process Control block.
application domain, which provides a secure, common processing unit that can be used by the common language runtime to isolate applications. You can run several application domains at the same time in a single process at the same isolation level (separate process) without causing additional resource overhead resulting from process calls or process switching.
Thread: is the smallest unit of Windows task scheduling, a thread is an execution flow in program execution, each thread has its own proprietary register (stack pointer, program counter), and the code is shared, that is, different threads can execute the same code. There are multiple threads that can run concurrently in a process.
When a user invokes or experiences a program run effect, it invokes one or more threads in a process directly, rather than directly accessing the process itself.
Note: The process is the owner of a resource, so in the process of establishing, undoing, switching, the system will pay a large time and space overhead, limiting the performance of concurrent programs to further improve.
Process thread (thread) application domain (domain) (from www.sysoft.cc)