-
What is a thread?It is a path executed in a process and is the smallest unit of system scheduling.
What is a process?is a running program and is the smallest unit in which the system allocates resources.
What is the relationship between threads and processes?
1.A process can have multiple threads, and a thread can belong to only one process.
2.All threads in the same process share all resources in the same process.
3.What really runs on the processor is the thread, not the process, and the thread is an execution unit within the process, which is a schedulable entity within the process.
What is the difference between a Linux thread and a process?
Process: Advantages: Multiple processes can utilize multiple CPUs at the same time, and can perform multiple operations at the same time.
Disadvantages: Resource-intensive (creating a process to re-open up memory space).
The number of processes is not as good as possible, and the number of processes is generally equal to the number of CPUs.
Threads: Advantages: Shared memory, especially when performing IO operations (network, disk) (CPU is rarely used for IO operations), and multi-threading can be used to perform concurrent operations.
Disadvantages: Grab resources.
-
Resource ownership: A process is a unit of resource allocation and ownership, and threads in the same process share the resources of the process.
A thread is the basic unit of processor scheduling, but a process is not.
A program has at least one process, and a process has at least one thread, and the division scale of threads is smaller than that of processes.
-
The main difference is that they are different ways of managing operating system resources. Processes have independent address spaces, and when a process crashes, it does not affect other processes in protected mode, while threads are just different execution paths in a process.
Threads have their own stacks and local variables, but there is no separate address space between threads, and the death of one thread is equal to the death of the entire process, so the multi-process Doula program is more robust than the multi-threaded program, but when the process is switched, it consumes more resources and is less efficient. However, for some concurrent operations that require simultaneous operation and want to share some variables, only threads can be used, not processes.
In short, a program has at least one process and a process has at least one thread.
The division scale of threads is smaller than that of the pin chain process, which makes the concurrency of multi-threaded programs high.
In addition, the process has an independent memory unit during execution, and multiple threads share the memory, which greatly improves the running efficiency of the program.
There is a difference between threads and processes during execution. Each independent thread has an entry point for the program to run, a sequence of sequential executions, and an exit for the program. However, threads cannot be executed independently, and must exist in the application, and the application provides multiple thread execution control.
From a logical point of view, multithreading means that there are multiple parts of execution in an application that can be executed at the same time. However, the operating system does not treat multiple threads as multiple independent applications to achieve process scheduling and management, as well as resource allocation. This is the important difference between a process and a thread.
-
Many friends want to know the difference between linux process and thread? Let's find out together!
A process is an activity that has an independent function on a set of data hailists, and it is also an independent unit of the system for resource allocation and scheduling. Basically the thread itself does not have any system resources, but only has a little necessary resources in operation (such as program counters, a set of registers and stacks), but it can share resources with threads that belong to the same process.
The usefulness of linux.
Linux is a free and open source operating system, users can modify the source according to their own ideas, and you can fully understand every operation of it, which is of great help to computer enthusiasts, and it can let users know how the system works.
The language of Linux.
Linux is developed in C and assembly language. C is the "mother tongue" of Linux, which is also the result of the open source environment and its own mechanism. The kernel of Linux is basically written in C, and some are written in assembly language.
This article is based on the thinkpade15 brand and centos7 system.
-
The differences between a process and a thread are as follows:
1. The constitutive relationship between the two.
A process is a running activity on a certain data collection of a program with certain independent functions, and a process is an independent unit of the system for resource allocation and scheduling.
A thread is an entity of a process, the basic unit of CPU scheduling and dispatching, and it is a smaller basic unit than a process that can run independently The thread itself basically does not own the system resources, only a few resources that are essential for operation (such as program counters, a set of registers and stacks), but it can share all the resources owned by the process with other threads that belong to the same process.
2. Independent relationship.
One thread can create and undo another; Multiple threads in the same process can execute concurrently.
Compared with a process, a thread is a concept that is closer to an executor, which can share data with other threads in the same process, but has its own stack space and independent execution sequences.
3. Operating system resource management mode.
The main difference between processes and threads is that they are different ways of managing resources in the operating system. Processes have their own address space, and when one process crashes, it has no impact on other processes in protected mode, while threads are just different execution paths in a process. Threads have their own stacks and local variables.
However, there is no separate address space between threads, and the death of a thread is equal to the death of the entire process, and a multi-process program is more robust than a multi-threaded program, but when the process is switched, it consumes more resources and is less efficient. For some concurrent operations that require simultaneous operation and want to share some variables, only threads can be used, not processes.
-
The differences between a process and a thread are as follows:1. Fundamental differences.
A process is the basic unit of resource allocation for the operating system, while a thread is the basic unit for task scheduling and execution.
2. Overhead.
Switching between processes is expensive, and each process has its own program context for ** and data space; The overhead of switching between threads is small, and threads can be regarded as lightweight processes, where the same type of threads share ** and data space, and each thread has its own independent running stack and program counter PC.
3. Environment.
Ability to run multiple processes in the operating system at the same time; In the same process, there are multiple threads executing at the same time, and only one thread is executed in each time slice through CPU scheduling.
4. Memory allocation.
The system allocates different memory space for each process; In the case of threads, except for the CPU, the system does not allocate memory to threads, and the resources used by threads come from the processes to which they belong, and only resources can be shared between thread groups.
5. Inclusion relationship.
Threads are part of a process, so threads are also called lightweight processes or lightweight processes.
Inter-process mutex: One or more program segments in a group of concurrent processes must be executed in a unit that does not allow cross-execution because they share a common resource, that is, two or more concurrent processes that share the resource are not allowed to enter the critical zone at the same time. >>>More
First: Pipeline communication.
When two processes communicate through a pipeline, the process that sends the information is called the write process; The process that receives the information is called the read process. The intermediate medium of the pipeline communication mode is the file, which is usually called the pipe file, which connects a write process and a read process together like a pipe to achieve communication between the two processes. The write process writes information to the pipeline file through the write end; The read process reads information from the pipeline file through the readout. >>>More
Use the pstree command to see the relationship between the processes, all processes are created by the initial init, and the parent process creates child processes one by one. >>>More
First, the subject is different.
1. Dual-core and four-thread: Hyper-threading is used, that is, applications can use different parts of the chip at the same time. >>>More
df: View the size of the partition
du: View the file and directory size >>>More