目录
1.1 进程线程的基本概念
1.1.1 什么是进程,线程,彼此有什么区别?⭐⭐⭐⭐⭐
-
进程:是操作系统分配资源和调度任务的基本单位。它包含了程序代码、数据、堆栈、文件描述符、内存地址空间等资源。每个进程有一个独立的内存空间,它们之间的通信比较困难。进程的切换开销较大,因为切换进程时需要保存和恢复上下文信息(如寄存器状态、地址空间等)。
-
线程:是进程中的一个执行流,是 CPU 调度的基本单位。线程共享进程的资源(如内存、文件描述符等),但每个线程有独立的栈和寄存器。线程之间的切换开销相对较小,因为它们共享同一个进程的内存空间。
-
区别:
- 进程有独立的内存空间,线程共享进程的内存。
- 进程之间的通信较复杂(如通过 IPC 机制),而线程之间的通信较为简单。
- 进程切换开销大,线程切换开销小。
1.1.2 多进程、多线程的优缺点?⭐⭐⭐⭐
-
多进程:
- 优点:
- 稳定性高,进程间互不影响,某个进程崩溃不会影响其他进程。
- 安全性高,进程间的资源是隔离的。
- 缺点:
- 优点: